• ベストアンサー

EXCEL VBA でTEXT出力する場合

ARCの回答

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

Print # を使えばいいと思います。 Dim FileNo as Integer FileNo = FreeFile() Open "XXX.CSV" For Output As #FileNo Print #FileNo , "A,1,2" Close #FileNo こんな感じで。

HEAT10
質問者

お礼

さっくり解決しました ありがとうございます。

関連するQ&A

  • Excel VBAでのテキスト出力について

    excel vbaでの文字列出力について エクセルからテキスト(メモ帳とか)に出力したいのですが 下記のように出力できなくて困っております。 どなたか教えてほしいです。 ●入力エクセル AAA BBB CCC DDD EEE セル(1,1)~(1,5)にそれぞれ文字列が入っている状況です。 これを下記のように出力したいのです。 ●テキスト出力 "AAA","BBB",CCC,"DDD",EEE CCCとEEEをダブルクォーテーションを付けないで出力したいのです。 出力の方法でwriteとprintがありますが writeで Write #1, Cells(1,1),Cells(1,2),Cells(1,3),Cells(1,4),Cells(1,5) やると、自動で全ての文字がダブルクォーテーションで囲まれて、カンマが自動でつき "AAA","BBB","CCC","DDD","EEE" のようになってしまします。CCCとEEEのダブルクォーテーションが不要です。 printで Print #1, CStr(Cells(1,1)), & "," CStr(Cells(1,2)), & "," Cells(1,3), & "," CStr(Cells(1,4)), & "," Cells(1,5) とすると "AAA", "BBB", CCC, "DDD", EEE となり、カンマの後ろに空白が何個か入った状態になります。 (ブラウザでは空白が分かりづらいですが、テキストですと入っております。) Trim関数でTrim(",")とか色々試しましたが上手くいきません。 どうしたら望み通りの出力ができるでしょうか。 ぜひ教えて頂きたいです。 よろしくお願いします。

  • CSVファイルへの文字列データの書き出しについて

    OS:WindowsXP、Excel:2003 です。 Excelマクロ(VBA)で、あるデータをCSVファイルに出力しているのですが、 文字列型(String)を書き出すと、必ずダブルクォーテーションで囲まれます。 CSVへ書き出すときは、そういう仕様になっているということは分かったのですが、 処理の都合上、どうしてもダブルクォーテーションで囲まずに書き出ししたいと思っています。 そういう場合にはどのようにすれば良いのか教えて下さい。 ちなみに、書き出しは「Write」を使っています。

  • Excel VBAにてCSVファイルを読みたい

    ExcelにてCSVファイルを読んで処理をしたい。 ただし、CSVファイルをExcelでopenすると遅いので、 VBAにてファイルとして読み込みで処理をしたいのですが、 皆さんは、どのように行っていますか? ※CSVファイルは、テキスト区切り→"(ダブルコーテーション)です  テキスト区切り無しであれば、1行読んで、カンマをsplitすれば良いと思いますが。。。。

  • EXCELのVBAで

    EXCELで、セルの内容をVBAでCSVにしたいのですが・・・ Dim S As String, I As Integer, D As Date I = 123 S = "文字" D = 2005/3/18 Open ・・・ Write #1, I, S, D Close ・・・ とすると、 123,"文字",#2005-03-18# ・・・ となります。 123,"文字",2005/03/18 ・・・ とするには、何か方法ありますか? また、文字の前後についている、"(ダブルコーテーション)を外して、 123,文字,2005/03/18 ・・・ とは出来ませんでしょうか?

  • エクセルVBAでテキストを出力したい

    エクセルVBAでテキストを出力したいのですが、 やり方がわからないので教えてください。 仮にSheet2のA列に文章があるとして、 シート全体を1つのテキストファイルとして出力し、 ファイル名をSheet1のA1セルにしたいです。 同じような質問もあるのですが、ファイル名に関しては、 ちょっと見当たらなかったので質問しています。

  • ExcelのVBAでCSVを読み込むと通貨になる

    Excel2010のVBAでCSVファイルを読み込んで処理させたいのですが、読み込んだデータをExcelが勝手に別のデータに変えてしまうので困っています。 例えば、123,456というデータは、フィールドにカンマがあるので、CSVでは"123,456"となりますが、これを以下のようなVBAのコードで読み込ませると、書式が通貨として扱われてしまって、データも123456になってしまいます。文字列として読み込まれていれば正しいデータとして読み込まれるように思うのですが、文字列として読み込ませる方法が分かりません。正しく元のデータ123,456のまま読み込ませるにはどうすればいいのでしょうか。 なお、CSVの各フィールドにカンマやダブルクォーテーションが混在していると、各フィールドに分割する処理が複雑でよく分からないので、下記のコードのようにExcelの機能でCSVを各フィールドに分割される方法で読み込ませたいです。 よろしくお願いします。 Workbooks.Open Filename:= "file.csv"

  • エクセルVBAで ” をテキスト出力したい

    ExcelVBAで、ダブルコーテーションを含む文字列をテキスト出力したいです。 下記を出力したいのですが書き方がわかりません。 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> × Print #1,"<meta http-equiv=" & """ & "Content-Type" & " content=" & """ & "text/html; charset=UTF-8" & """ & ">" エラーになってしまします。 記述方法をご教示ください。

  • EXCEL VBAでのCSVファイルの編集

    CSVファイル(ダブルクォーテーション)形式のファイルをEXCEL VBAにて行の編集(削除)をした後、上書き保存をしたらダブルクォーテーション区切りではなくカンマ区切りのCSVファイルの形式になってしまいます。 ダブルクォーテーション区切りのCSVファイルで上書き保存する記述があれば教えて下さい。おそらくEXCELでCSV形式の上書きはCSV2の形式で保存されるみたいです。 困っています。どなたかお助け下さい。

  • excelで作成した文書をVBAを使用してテキストに書き出した場合クオーテーションマークが勝手に付く

    お世話になります。 excelで作成した文書をVBAを使用して、下記ソースのように、変数に文字を保存、その変数を利用して、テキストに書き出した場合出力先にクオーテーションマークが勝手に付くのです。 調べますと、空白や改行があるとテキストに書き出した場合、クオーテーションマークが自動でつけられるみたいなのですが、これを、クオーテーションマークがない元のまま書き出すことは可能なのでしょうか? **********ソース 保存データ=" O " open 書き出し先テキスト.txt for output as #1 write #1,保存データ close #1 ******** 出力結果が「0」ではなく、「"0"」 大変お手数ですがなにとぞよろしくお願いします。

  • CSVもしくはExcelの使い方

    文字列と数字が書いてあるCSVファイルをExcelで開いて、数字の列だけ””(ダブルクォーテーション)で各セルの数字ごとに囲みたいのですが、一つ一つではなく、まとめて出来るようなやり方ってありますか? 最終的には、テキストで開いたときに、例のようになればいいのですが・・・ 例 ”200”,”1000”,ABC株式会社,”983000”, 営業,”351000”,事務,”200”