#VBSでCreateObject("Excel.Application")を使用してブックを開くと、アドインが読み込まれない問題
詳細は下記ページを参照。
CreateObject コマンドを使用した場合、Excel でアドインが読み込まれない
VBSで開いたブックも、通常起動したブックと同様に扱いたいため困った。
環境によってどんなアドインがインストールされているかもわからないので、固定パスではできないし。
というわけで、起動したExcelからアドインの一覧を取得して、インストール済みアドインを開いてあげることに。
この開き方だと起動時のマクロ実行がされないようなので、マクロ実行もついでに。
#ソース
ExcelOpenAndLoadAddIn.vbs
Set oXlsApp = CreateObject("Excel.Application")
With oXlsApp
.Visible = False
.Workbooks.Open ("C:\Book.xlsx")
For Each ad In .AddIns
If True = ad.Installed Then
.Workbooks.Open (ad.FullName)
.Workbooks(ad.Name).RunAutoMacros 1
End If
Next
.Visible = True
End With
Set oXlsApp = Nothing