見出し画像

【VBS】マクロを直接起動するスクリプト

ExcelやWordファイルに書いたVBAマクロを直接呼び出す(起動する)ためのVBSコードです。

Dim FilePath
FilePath = "C:\Users\Documents\Sample.xlsm"

Dim app
Set app = CreateObject("Excel.Application")
app.Visible = False
app.Workbooks.Open FilePath
app.Run "Module1.test"

app.Quit
Set app = Nothing

このVBSをダブルクリックするだけで、指定したマクロを起動できます。
わざわざこんなVBS用意しなくても、マクロ自体にOpenイベントを仕込んでおけば良いだけじゃん!…って思うかもしれませんが、一応メリットがあります。
・マクロ起動を高速化できる。
 ExcelやWord起動時の余計なアドイン読込み等が省略できる。
・マクロ実行中、タスクバーにExcelやWord等のアイコンが表示されない。
 見た目がすっきりする。
・VBSファイルなので、ダブルクリックでサクサク実行できる。

とくにVBAマクロで業務を自動化する場合、完全にバックヤードで(不可視化された状態で)処理実行できた方が気持ちいいですよね。
気分の問題ですが、毎日マクロ実行していると、タスクバーにExcelやWordアイコンが表示されるのが地味に気になってきます。
このVBSを使えば、パッと見は完全に自動化している感じになります。

使い方
メモ帳に上記をコピペして
「FilePath="~~"」の~~の部分に起動したいマクロ(Excelファイル)の保存場所(Excel拡張子までを含めたフルパス)を記載する。
「app.Run "〇〇"」の〇〇の部分に起動したいマクロのモジュール名とプロシージャ名を記載する。モジュール名とプロシージャ名の間は.(ドット)で区切る。
名前を付けて保存から、文字コードをANSI形式を選択して保存。(日本語対応対策)
拡張子を.vbsへ変更。

あとはこのVBSをダブルクリックで開くだけ。
至って単純なスクリプトです。
実は先日購入したマクロキーボードのキー割り当て用に、このスクリプトを作りました。
マクロキーボードと組み合わせると、中々有能なスクリプトだと思います。
マクロキーボードについては後日記載します。

この記事が気に入ったらサポートをしてみませんか?