-PR-
mari_dora

下記のようにEXCELマクロにてEXCELファイルをCSVファイルに保存しようとしています。
NewBook.SaveAs
Filename:="test.csv",
FileFormat:=xlCSV,
CreateBackup:=False

このとき、セル値にダブルクォーテーションが含まれていると、出力CSVファイルの値がダブルクォーテーションで囲まれてしまいます。

●ダブルクォーテーションが含まれていない場合
セル値→A列:ABC
    B列:DEF
CSVファイル→ABC,DEF
●ダブルクォーテーションが含まれている場合
セル値→A列:A"C
    B列:DEF
CSVファイル→"A"C",DEF

後者の場合もダブルクォーテーションで囲まれないようにするにはどうすればよいでしょうか。
  • 回答数2
  • 気になる数0

Aみんなの回答(全2件)

質問者が選んだベストアンサー

  • 2006-04-17 21:16:39
  • 回答No.2
こんにちは。

Sub sample()
Dim s As String
Dim r As Long, c As Long, i As Long, n As Long
With Range("A1").CurrentRegion
r = .Rows.Count
c = .Columns.Count
End With
n = FreeFile
Open "D:\test.csv" For Output As n
For i = 1 To r
s = Join(WorksheetFunction.Index(Cells(i, 1).Resize(, c).Value, 0), ",")
Print #n, s
Next i
Close #n
End Sub

…な感じでしょうか。
お礼コメント
やはり自分でCSV形式のデータを作成するしかなさそうですね。

ありがとうございました。
投稿日時 - 2006-05-02 09:40:21
  • 同意数0(0-0)
  • ありがとう数0
-PR-
-PR-

その他の回答 (全1件)

  • 2006-04-17 16:07:14
  • 回答No.1
これじゃだめでしょうね。 Public Sub TEST() Open "C:\Test.csv" For Output As #1 Print #1, Range("A1"); ","; Print #1, Range("B1") Close #1 End Sub
これじゃだめでしょうね。

Public Sub TEST()
Open "C:\Test.csv" For Output As #1
Print #1, Range("A1"); ",";
Print #1, Range("B1")
Close #1

End Sub
  • 同意数0(0-0)
  • ありがとう数0
なるほどぉ、役に立ったなど
感じた思いを「ありがとう」で
伝えてください
  • 回答数2
  • 気になる数0
  • ありがとう数0
  • ありがとう
  • なるほど、役に立ったなど
    感じた思いを「ありがとう」で
    伝えてください

関連するQ&A

-PR-
-PR-

その他の関連するQ&Aをキーワードで探す

別のキーワードで再検索する

あなたの悩みをみんなに解決してもらいましょう

  • 質問する
  • 知りたいこと、悩んでいることを
    投稿してみましょう
-PR-
-PR-
-PR-

特集


お客様の疑問に答えて企業価値向上

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ