• ベストアンサー

VBAで文字列を引数とするアドイン関数を呼び出す場合

いつもお世話になります。 ExcelVBAで、アドインから読み込んだ関数を使用する際、 Workbooks("xxx.xla").Application.Run ("xxx") と呼び出すのはいいのですが、もしその関数が 文字列を引数とする場合は、やはり下の書き方のように Workbooks("xxx.xla").Application.Run ("xxx(" & Chr(34) & "C:\work\data.csv" & Chr(34) & ")") と、Chr関数を使用しなければいけないのでしょうか。 もし、もっと簡単な記述がありましたら、ご教授ください。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

Runメソッドは マクロ名とその引数を引数としてとります Workbooks("xxx.xls").Application.Run("xxx", "C:\Work\Data.csv") といった具合で 引数を指定すれば良いでしょう スペースなどを含むファイル名などの場合は """C:\PRogram Files\Data\sample.csv""" この場合 "C:\PRogram Files\Data\sample.csv"が引数として渡ります と言った具合です

tatapata
質問者

お礼

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

その他の回答 (1)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

"" と打てば文字列を囲む機能が打ち消しになるので、" 単独の意味になります。 MsgBox """" Workbooks("xxx.xla").Application.Run ("xxx(""C:\work\data.csv"")")

tatapata
質問者

お礼

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

関連するQ&A

専門家に質問してみよう