著作一覧 |
spamに紛れて危うく削除するところだったが、久々にASRのバグ指摘が来た。 っていうか、CallByNameなんて関数は存在自体を知らなかったよorz。
Private Sub Command1_Click() Set fso = CreateObject("Scripting.FileSystemObject") For Each d In fso.drives MsgBox CallByName(d, "DriveLetter", VbGet) Next Set fso = Nothing End Sub
なるほど。文字通りだな。
と存在はわかったもののいつ見りゃいいんだ?
VBLifeで試した。
VBLife.rbに以下を追加
def about "vb life" end
LifeCanvasのForm_Loadの最後に以下を追加した。
MsgBox CallByName(life, "about", VbGet)
おお、ちゃんとメッセージボックスにvb lifeって表示されるぞ。というか、うまく動いちゃだめなんだが。
で、第3引数を変えてみるか
MsgBox CallByName(life, "about", VbMethod)
やっぱり動くな。引数が必要なのかな
def about(a, b) "vb life" + a + b end
としてから
MsgBox CallByName(life, "about", VbMethod, "a", "b")
う、ちゃんと"vb lifeab"と出てくる……
再現パターンを問い合わせることにしよう。
ジェズイットを見習え |