アプリ版:「スタンプのみでお礼する」機能のリリースについて

Accessから既存のExcelファイルを開き、そのファイル内にある
マクロを自動実行させたいと思っています。

Set obj = CreateObject("Excel.Application")
obj.Visible = True
Set Myobj = obj: Workbooks.Open ("エクセルファイル名(フルパス)")
Myobj.Run マクロ名

と書いているのですが、Excelファイルを開くところまでしか動いてくれません。
マクロ名の書き方が悪いのかもしれませんが、VBAに不慣れなため
どう直せばよいのかわかりません。
どうかよろしくお願いします。
ちなみに環境はWindows2000、Office2000です。

A 回答 (1件)

私も良く知らないのですが、



エクセルのマクロに Publicを付けて宣言して、

>Myobj.Run マクロ名

obj.Run マクロ名
として実行してみてください。

この回答への補足

さっそく試してみましたが、残念ながらダメでした。
Excel側のマクロはもともとボタンがクリックされると実行するというものだったので
Privateになっていました。これをPublicにというのは、かなり的を得てると思ったのですが・・・。
マクロの格納場所も関係するのでしょうか?
もしご存知なら、また回答をお願いします。
まずは、回答ありがとうございました。

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

いろいろ試した結果、うまくいくようになりました。
やはり標準モジュールにマクロを置く必要があるようです。
ソースは obj.run ファイル名!Module1.マクロ名 としました。
もし調べて下さったいたら、お手数をおかけしてすいませんでした。
ヒントをいただき、ありがとうございました。

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

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A