プロが教えるわが家の防犯対策術!

いつもお世話になります。

ExcelVBAで、アドインから読み込んだ関数を使用する際、
Workbooks("xxx.xla").Application.Run ("xxx")
と呼び出すのはいいのですが、もしその関数が
文字列を引数とする場合は、やはり下の書き方のように

Workbooks("xxx.xla").Application.Run ("xxx(" & Chr(34) & "C:\work\data.csv" & Chr(34) & ")")
と、Chr関数を使用しなければいけないのでしょうか。

もし、もっと簡単な記述がありましたら、ご教授ください。

よろしくお願いいたします。

A 回答 (2件)

Runメソッドは マクロ名とその引数を引数としてとります



Workbooks("xxx.xls").Application.Run("xxx", "C:\Work\Data.csv")
といった具合で 引数を指定すれば良いでしょう

スペースなどを含むファイル名などの場合は
"""C:\PRogram Files\Data\sample.csv"""
この場合 "C:\PRogram Files\Data\sample.csv"が引数として渡ります
と言った具合です
    • good
    • 0
この回答へのお礼

redfox63さん、ありがとうございました。
まだまだわからないことだらけで勉強不足でした。
こんな方法があるとは知りませんでした。
またなにかありましたら、よろしくお願いいたします。

お礼日時:2007/11/25 18:06

"" と打てば文字列を囲む機能が打ち消しになるので、" 単独の意味になります。



MsgBox """"

Workbooks("xxx.xla").Application.Run ("xxx(""C:\work\data.csv"")")
    • good
    • 0
この回答へのお礼

hana-hana3さん、ありがとうございました。
こんなに簡単な方法があったとは、まさに目から鱗です。
まだまだ勉強不足で、ご迷惑をおかけしました。
またなにかありましたら、懲りずによろしくお願いいたします。

お礼日時:2007/11/25 18:08

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