いてづきブログ

情シスでやってみたことの備忘録

VBAでファイル出力

エクセルに大量に定義された定義をC++のdefineに変換するために、久しぶりにVBAをいじってみる。
VBAエキスパート取ったのが遠い昔のようだなぁ…(汗

とりあえずファイル出力で早くも躓いたのでメモ

Dim path as String
path = "C:\hoge.txt"

Open path For Output as #1

Print #1, "moge"

Close #1

↑が正解のコード。

自分が失敗したのは下記のコード。

Dim path as String
path = "C:\hoge.txt"

Open path For Output as #out

Print #out, "moge"

Close #out

実行時エラー52が出ます。エラー52の原因は基本的には下記のもの。
http://pasofaq.jp/development/visualbasic/error52.htm

しかし、1〜4のどれでもなくう〜んと首をひねってました。
#のあとは1〜512(だっけ?)の数値じゃないとダメらしい。
ただ単にファイルを扱う別名だと勘違いしてました。
だってAsなんて書いてあるから…。