Excel VBA質問箱 IV

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

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


38505 / 76738 ←次へ | 前へ→

【43368】Re:CSVに書き込みをする際のスペースの除...
発言  ichinose  - 06/10/11(水) 21:39 -

引用なし
パスワード
   ▼超初心者 さん:
こんばんは。

>下記の記述でCSVに書き込みをすると、全角文字の場合は例えば、「文字,文字」となるのですが、半角文字の場合は例えば、「 1 , 2 , 3 ,」のように半角文字の左右にスペースがついてしまいます。
これは、そうなりますよ!!
半角の数字の時ですね?
数値を 例えば

Print #N, 4; 5

のようにした場合は4と5の前後に空白が埋められます。
そうしないと読み込む時に読み込めなくなってしまいますから・・・。
(この意味は考えてみてください)
まっ、仕様と解釈してください。

簡単なのはTrim関数でも付けとけばOKです。
>
>  Dim myPath As String
>  Dim N As Integer
>  Dim j As Integer
>  Dim LastRow As Long
>  Dim LastColumn As Integer
>  
>  myPath = ThisWorkbook.Path & "C:\test.csv"
>  N = FreeFile
>  
>  Open "C:\test.csv" For Output As #N
>  
>    With Worksheets("sheet1")
>      LastColumn = .Cells(1, Columns.Count).End(xlToLeft).Column
      Print #N, Trim(.Cells(1, 1).Value);
      For j = 2 To LastColumn
        Print #N, ","; Trim(.Cells(1, j).Value);
      Next
>      Print #N, ""
>    End With
>  Close #N

ですが、私はよくこういうコードを書きます。

Sub main()
  Dim myPath As String
  Dim N As Integer
  Dim myarray As Variant
  myPath = ThisWorkbook.Path & "\test.csv"
  N = FreeFile
  Open myPath For Output As #N
  With Worksheets("sheet1")
    myarray = Application.Transpose(Application.Transpose( _
         .Range(.Cells(1, 1), .Cells(1, .Columns.Count).End(xlToLeft)).Value))
    End With
  Print #N, Join(myarray, ",")
  Close #N
End Sub
0 hits

【43367】CSVに書き込みをする際のスペースの除... 超初心者 06/10/11(水) 20:45 質問
【43368】Re:CSVに書き込みをする際のスペースの... ichinose 06/10/11(水) 21:39 発言
【43371】Re:CSVに書き込みをする際のスペースの... 超初心者 06/10/11(水) 22:38 質問
【43374】Re:CSVに書き込みをする際のスペースの... ichinose 06/10/12(木) 6:50 発言
【43376】Re:CSVに書き込みをする際のスペースの... [名前なし] 06/10/12(木) 10:55 お礼
【43382】Re:CSVに書き込みをする際のスペースの... ハチ 06/10/12(木) 15:22 お礼
【43404】Re:CSVに書き込みをする際のスペースの... 超初心者 06/10/13(金) 10:48 質問
【43415】Re:CSVに書き込みをする際のスペースの... 超初心者 06/10/13(金) 16:39 質問
【43417】Re:CSVに書き込みをする際のスペースの... ichinose 06/10/13(金) 18:12 発言
【43421】Re:CSVに書き込みをする際のスペースの... 超初心者 06/10/13(金) 20:27 お礼

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