電子書籍の厳選無料作品が豊富!

いつもお世話になります

標記の件、Webで調べたところ、下記のような喜寿が有りました
Vbeで
  Sub HelloWorld()
  MsgBox "HelloWorld"
  End Sub
を作成し、BATファイルに
  @echo off
  start excel.exe /r "C:\Path\To\Your\Workbook.xlsm"
と書いて実行すると有りました
それ以上はないので、C:\Tempフォルダに上記プログラムを記述してWorkbokk.xlsmを作り
  @echo off
  start excel.exe /r "C:\temp\Workbook.xlsm"
を実行して所、メッセージが出ないので ThisWorkbook に下記の記述を実行させました
  Private Sub Workbook_Open()
  Call HelloWorld
  End Sub

本番のプログラムもこれで実行できそうですが、ThisWorkbook は使いたくないので
Application.Runのように実行するサブプログラムを指定する方法は無いのでしょうか?
   "C:\temp\Workbook.xlsm!HelloWorld" のような感じで

もし分かりましたら教えてください
また、バッチ処理でアドインソフトの動かし方が有りましたら教えてください

以上、宜しくお願い申し上げます

A 回答 (2件)

こんばんは



バッチ処理でのご質問ですが、そちらは詳しい方にお願いして、以下はVBSでの回答です。
以下、ご参考にでもなれば。
(VBSで実行しても、バッチと方法的には似ていると思いましたので・・)

以下をテキストファイルとして、拡張子を.vbsにして保存し、ダブルクリックで実行できます。
パス及びマクロ名は当該パス及びマクロ名に修正してください。

Dim appExcel
Set appExcel = CreateObject("Excel.Application")
appExcel.Visible = False

appExcel.Run "'C:\Users\hoge\book1.xlsm'!macroName"
appExcel.Quit


>バッチ処理でアドインソフトの動かし方が有りましたら~
VBSでも良いのなら、上記の方法で同様に実行可能と思います。
(すみませんが、アドインまでは動作確認はしていませんが・・)
    • good
    • 0
この回答へのお礼

おはようございます
いつもお世話になります

テストしました
ありがとうございます、出来ました
本当にいつもありがとうございます

これからもよろしくお願いいたします
(いつか、どこかでお会いしてお話したいですね)

お礼日時:2025/01/28 10:00

https://support.microsoft.com/ja-jp/office/micro …

に、Excel.exe のコマンドラインオプションがありますが、ファイルを開く指定は出来るけど、さらにマクロsub名を指定して起動するコマンドラインオプションは無いので、バッチファイルからの直接の起動は Workbook_Open 等を使わないと無理です。

すでに回答がありますが、そういう場合は私もVBScriptを使います。
コピペしてちょっと直すだけ。

あるいは「開いているウィンドウにキー操作をしたのと同じ状態にする」フリーソフトがあるので、開いてからそういうソフトでExcelウィンドウ内で自動操作するか。
    • good
    • 0
この回答へのお礼

おはようございます
早々、ご回答をありがとうございます

早速、先の回答をテストしてOKでした
artooさんのご意見も参考にこれからいろいろ整備して
行きたいと思います

以上、これからもよろしくお願い申し上げます
心から感謝しています

お礼日時:2025/01/28 10:06

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

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


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