|
▼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
ですが、どうしてこれで上手くいくか、等はまだまだ理解が及んでおりません。
実用する前にもう少し自分のレベルを何とかしたいと思います…。
お答えくださってありがとうございました。
|
|