| 
    
     |  | ▼neptune さん: こんにちは、ありがとうございます。
 ヘルプで調べるのを失念しておりました。お恥ずかしいです。
 
 On Error Resume Next  ' エラー処理を無効にします。
 Set wbMyAddin = Workbooks(Addins("My Addin").Name)
 lastError = Err
 On Error Goto 0    ' エラー処理を有効にします。
 If lastError <> 0 Then
 ' アドインが読み込まれていなければ、そのファイルを開きます。
 Set wbMyAddin = Workbooks.Open(Addins("My Addin").FullName)
 End If
 
 こちらも足して試してみたのですが
 Set wbMyAddin = Workbooks.Open(Addins("My Addin").FullName)
 この部分でエラーを吐き出してしまいました。
 書き換えるべき部分が分からず、さらに調べてみたところVB側だけで無事希望の動作ができたようなので、VBAではありませんが一応載せておきます。
 理解度が足りずあっちこっち切り貼りして分かる部分を書き換えたため、きれいなコードではありません…。
 
 Option Explicit
 Const cnsBook = "test.xls"
 Const xlAutoOpen = 1
 dim xlApp,xlBook,strPath
 
 Set xlApp = CreateObject("Excel.Application")
 ' 本スクリプトファイルのフォルダ名の取得
 With WScript
 strPath = Replace(.ScriptFullName, .ScriptName, "")
 End With
 'アドインリフレッシュ
 Call AddinRefresh(xlApp,"分析ツール")
 
 xlApp.Visible = True
 
 Set xlBook = xlApp.Workbooks.Open(strPath & cnsBook, False, True)
 
 
 Private Sub AddinRefresh(inXlsApp,inAddinName)
 On Error Resume Next
 inXlsApp.AddIns(inAddinName).Installed = False
 inXlsApp.AddIns(inAddinName).Installed = True
 End Sub
 
 ですが、どうしてこれで上手くいくか、等はまだまだ理解が及んでおりません。
 実用する前にもう少し自分のレベルを何とかしたいと思います…。
 
 お答えくださってありがとうございました。
 
 
 |  |