Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


73321 / 76732 ←次へ | 前へ→

【7891】Re:カンマ区切りのCSVで保存した時の改行を削除したいのですが。。。
回答  BOTTA  - 03/9/22(月) 16:38 -

引用なし
パスワード
   でこぽんウマイ!さん、Jakaさん、こんにちは。

Jakaさんのは、既に保存されたFileを変換しているようですネ。
私は、保存するときに処理する様にしてみました。
シートを直接保存ではなく、まずDataオブジェクトへ格納して、
String形式へ変換後、CSV形式へ変換、最終行のvbCrをvbLfへ変換。
最後にFileSystemObjectを使って、テキスト保存してます。
とっても回りくどいことをしているような気がします。
また、こちらにはCRとLFを区別できるエディタがないので結果を確認
出来ません。うまくいったらお知らせ下さい。

<注意>
Microsoft Forms 2.0 Object Libraryの参照設定が必要です。
VBE画面で「ツール」→「参照設定」でCheckを入れる。
見つからない場合は「参照」ボタンを押して、Systemフォルダ内の「FM20.DLL」
を選択して「開く」を押します。


Sub aaa()
Dim strData As String, objData As DataObject
Dim fso As Object, objText As Object, Fname As String
Dim i As Integer
  ActiveSheet.UsedRange.Copy
  Set objData = New DataObject
  'セルデータをDataオブジェクトへ格納
  objData.GetFromClipboard
  '↓Dataオブジェクトから文字列として取り出し
  strData = objData.GetText(1)
  '↓タブ区切→カンマ区切に変換
  strData = Replace(strData, vbTab, ",")
  '↓最後のvbCr文字位置を取得
  i = InStrRev(strData, vbCr)
  '↓最後のvbCr文字をvbLfへReplace
  strData = Left(strData, i - 1) & Replace(strData, vbCr, vbLf, i)
  '↓最後のvbCr文字を削除なら
  'strData = Left(strData, i - 1) & Replace(strData, vbCr, "", i)
  
  '↓FileSystemObject
  Fname = "C:\WINDOWS\デスクトップ\temp\test.csv" '←正しいファイル名にしてね
  Set fso = CreateObject("Scripting.FileSystemObject")
  '↓書き込み専用でOpen、無ければファイルを作成
  Set objText = fso.OpenTextFile(Fname, 2, True)
  '↓文字列を保存
  objText.Write strData
  objText.Close
  Set objText = Nothing: Set fso = Nothing: Set objData = Nothing
End Sub

0 hits

【7690】カンマ区切りのCSVで保存した時の改行を削除したいのですが。。。 でこぽんウマイ! 03/9/11(木) 21:49 質問
【7706】Re:カンマ区切りのCSVで保存した時の改行を... Jaka 03/9/12(金) 14:11 回答
【7879】Re:カンマ区切りのCSVで保存した時の改行を... でこポンうまい!! 03/9/21(日) 23:41 質問
【7889】Re:カンマ区切りのCSVで保存した時の改行を... Jaka 03/9/22(月) 13:48 回答
【7891】Re:カンマ区切りのCSVで保存した時の改行を... BOTTA 03/9/22(月) 16:38 回答
【7901】Re:カンマ区切りのCSVで保存した時の改行を... ichinose 03/9/22(月) 23:46 回答
【8311】Re:カンマ区切りのCSVで保存した時の改行... でこぽんウマイ! 03/10/8(水) 11:25 発言
【8494】Re:カンマ区切りのCSVで保存した時の改行... でこぽんウマイ! 03/10/20(月) 14:29 お礼
【7904】Re:カンマ区切りのCSVで保存した時の改行を... Hirofumi 03/9/23(火) 8:58 発言
【8242】Re:カンマ区切りのCSVで保存した時の改行... でこポンうまい!! 03/10/6(月) 1:21 質問
【8324】Re:カンマ区切りのCSVで保存した時の改行... Hirofumi 03/10/8(水) 20:56 回答
【8326】Re:カンマ区切りのCSVで保存した時の改行... Hirofumi 03/10/8(水) 21:26 発言

73321 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free