VBSでマクロの実行時に警告を非表示にする方法
マクロ付きExcelファイルを実行する際に、VBScriptで警告を抑制する方法
VBScriptでマクロ付きExcelファイルを起動する際に、マクロの実行警告を表示させないコード
下図のようなメッセージだけ表示するマクロ付きExcelファイルがあるとする。
何の害も無いこのマクロ付きExcelファイルのxlsmファイルを開こうとした場合でも、警告が表示される。
このファイルを開こうとすると・・・
マクロ付きExcelファイルを実行する為の警告メッセージで、「セキュリティの警告:マクロが無効にされました。」と表示され、【コンテンツの有効化】ボタンを押さなければ、マクロが実行出来ない状態となる。
確実にそのファイルが安全だと分かっており、頻繁に開くファイルであった場合には、いちいちボタンを押下する作業が煩わしくなる。
また、マクロ付きExcelファイルである、xslmファイルを自動実行するバッチ処理であったりする場合等は、人がこのボタンを押さないといけない状態だと、無人での自動化の妨げとなる。
このメッセージを抑制、非表示とし、VBScriptで実行する場合は、下記のようなコードで実現できる。
仮に、AutoMacro.vbsとして保存
Dim objExcel
Dim objBook
Set objExcel = CreateObject("Excel.Application")
'イベント抑制
objExcel.EnableEvents = False
set objBook = objExcel.Workbooks.Open("P:\OneDrive\Download\test\testbook.xlsm"))
objBook.Close()
objExcel.Quit()
Set objBook = Nothing
Set objExcel = Nothing
共有フォルダーからコピーしてきたファイルは、あらかじめファイルのプロパティで、セキュリティに別途チェックを入れておく必要がある事をお忘れなく。
このVBSファイルを実行すると、警告を表示させずにマクロ付きExcelファイルを起動させる事が出来る。
auto_openにマクロを仕掛けている場合は、.RunAutoMacrosメソッドで、引数に1を渡して実行させることが出来ます。
objBook.RunAutoMacros 1