dポイントプレゼントキャンペーン実施中!

お世話になります。

excelで作成した文書をVBAを使用して、下記ソースのように、変数に文字を保存、その変数を利用して、テキストに書き出した場合出力先にクオーテーションマークが勝手に付くのです。

調べますと、空白や改行があるとテキストに書き出した場合、クオーテーションマークが自動でつけられるみたいなのですが、これを、クオーテーションマークがない元のまま書き出すことは可能なのでしょうか?

**********ソース
保存データ=" O "
open 書き出し先テキスト.txt for output as #1
write #1,保存データ
close #1
********
出力結果が「0」ではなく、「"0"」

大変お手数ですがなにとぞよろしくお願いします。

A 回答 (2件)

以下のサンプルでいかがでしょうか。


一旦保存データを書き込んだ後、
それをインプットとしてダブルクォーテーションを
一括置換する方法です。
当然ながらすべてのダブルクォーテーションが
なくなってしまうので注意は必要です。

*******************
保存データ = "あ"
Open "c:\test.txt" For Output As #1
Write #1, 保存データ
Close #1
'保存ファイルをinputで開く
Open "c:\test.txt" For Input As #2

'output用ファイルを開く
Open "c:\test2.txt" For Output As #3
Do While Not EOF(2)
Line Input #2, textline 'データ行を読み込みます
 'ダブルクォーテーション(Chr(34))を置換します
Print #3, Replace(textline, Chr(34), "")
Loop
Close #2
Close #3
    • good
    • 0

こんにちは


詳しいことは、VBAマクロのヘルプを見ていただくとして..
INPUT#ステートメントで再現性をもって読み込む必要がない場合は、PRINT#ステートメントを使うべきでしょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!