http://www.okweb.ne.jp/kotaeru.php3?q=194302
この質問の回答を頂いてプログラムを変更したのですが、また詰まってしまいました・・・(T.T)

Open strTmp For Binary As #1
Put #1, , strCom
Put #1, , "EXIT"
Close #1

として、ファイルstrTmpの中身をみると、(strCom=dir/wとする)
dir/wEXIT
となっています。
希望する結果は、
dir/w
EXIT
なのですが、方法はあるでしょうか?
VBのHELPを参照した感じでは、配列変数を使えばいいみたいですが、strComの値は可変です。

ついでの質問ですが、VBのプログラムをするにあたって、VBのヘルプを利用するだけで技術アップは望めるでしょうか?
市販の書籍は必要とする部分が少なく金額も高いため考えてしまいます。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

Put #1, , strCom


Put #1, , vbCrLf '改行コード
Put #1, , "EXIT"

っていうか、1行づつならPut以外の方法をお勧めします。
Open strTmp For For output As #1
Print #1, strCom
Print #1, "EXIT"
close #1

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=169686

この回答への補足

アドバイスを参考にプログラム変更で目的のファイル出力ができました。
でも、なぜか他の部分がうまくいかないんです。
strTmpは、abc.bat(DOSのバッチファイル)
strComは、
dir/w
EXIT

その後、shell(strTmp,~)とすることで、DOS窓を開いて、dir/wを実行後、EXITでDOS窓を閉じるはずなのですが、なぜかDOS窓が閉じてくれないんです。
手動でDOS窓開いて、手動でabc.batを実行だとbat内の最後のEXITでDOS窓が閉じるんだけど・・・
このあたり分かればよろしくお願いします。

補足日時:2002/01/23 20:33
    • good
    • 0
この回答へのお礼

vbCrLfというのがあったんですね。(&H13を追加してみたりしたのですが、うまくいかなくて)
Printのほうは、初めて知りました。
For outputでファイルを開いて、writeでやったら、文字列の前後に"~"が入ってしまって、Binaryで何とかしようと思ってましたので、助かりました。
今日、さっそくやってみたいと思います。

私の場合、昔N88 BASICをやってたので、当時のコマンドで何とかしようとしてしまうのが原因かもしれません。

うちのVBは、ヘルプでOPENを検索しても灰色の文字で内容が表示できないんのだけど、MSDNの使い方が悪いのかな?

お礼日時:2002/01/23 08:29

>vbCrLfというのがあったんですね


ちなみに、vbNewLineというのもあります。
Microsoftではこちらのほうを薦めているようです。
このあたりは、VBのヘルプにあります。(ただ、インストール時のMSDNにあるかどうかは、未確認。すいません)

この回答への補足

その後、shell(strTmp,~)とすることで、DOS窓を開いて、dir/wを実行後、EXITでDOS窓を閉じるはずなのですが、なぜかDOS窓が閉じてくれないんです。
手動でDOS窓開いて、手動でabc.batを実行だとbat内の最後のEXITでDOS窓が閉じるんだけど・・・
このあたり分かればよろしくお願いします。

この件ですが、できました!
ヘルプでよく調べてみたら書いてありました。
お手数おかけしました。

参考に・・・
shell("command.com/c "+strTmp,~)
で、終了後閉じるようになりました。

回答、補足の記入がめちゃくちゃになってしまいましたが、教えてくれた方ありがとうございました。

補足日時:2002/01/23 21:18
    • good
    • 0
この回答へのお礼

ありがとうございます。
VBのヘルプを含めまだまだ勉強が必要と感じました。
これからも頑張っていきたいと思います。

お礼日時:2002/01/23 20:52

このQ&Aに関連する人気のQ&A

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


人気Q&Aランキング