• ベストアンサー

EXCELのVBAでファイル出力する際にダブルクオテーションを省きたい

はじめまして。 EXCEL2003のVBAで、セルの内容をテキストファイルに出力するマクロを組んでいます。出力はできますが、出力された文字列がダブルクオテーションで囲まれてしまいます。 どのようにしたらダブルクオテーションを省けるか教えて下さい。 処理内容:AA列を6行目から値の入っていないセルまでファイルに出力します。 ------------------------------------------------------ Private Sub OutputFile_Click() Const sDataCol As String = "AA" 'データ列 Const iDataStartRow As Integer = 6 'データ開始行 Dim iFileNo As Integer Dim sRecord As String Dim iRecCnt As Integer Dim iCounter As Integer Dim sFileName As String sFileName = CurDir & "\" & "Sample.txt" iFileNo = FreeFile Open sFileName For Append As #iFileNo iCounter = iDataStartRow Do sRecord = Range(sDataCol & iCounter).Value Write #iFileNo, sRecord iRecCnt = iRecCnt + 1 iCounter = iCounter + 1 Loop Until Range(sDataCol & iCounter).Value = "" Close #fileNo MsgBox sFileName & vbCr & _ "レコード件数=" & iRecCnt & "件", vbInformation, "ファイル出力完了" End Sub ------------------------------------------------------ セルAA6(セル書式:標準)に、abcd と入っていると、 "abcd" と出力されてしまいます。 abcd のようにダブルクオテーションを省きたいのです。 よろしくお願いします。

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

  • ベストアンサー
  • ngoma2008
  • ベストアンサー率36% (9/25)
回答No.2

write は文字列の項目に"を付けます。CSVファイルを簡単につくれますけど、融通性にかけます。 Print を使うと、文字列そのままでファイルに出力できるので、こちらのほうが応用が利きます。 覚えておいたほうがいいのは、Printの最後に;を付けると改行することです。逆に付けないと改行しません。 Print #1, "AAA"; Print #1, "BBB" とすると AAA BBB となりますが、 Print #1, "CCC" Print #1, "DDD" とすると CCCDDD と出力されます。

その他の回答 (1)

回答No.1

Writeの変わりに Printを使ってみる。 とかでどうでしょうか?

GOLDEN_GOLEM
質問者

お礼

あっ!とっても簡単にできました。 ありがとうございましたm(_ _)m

関連するQ&A