インストール時に他のアドインを追加するアドインを作成しました。1 つのアドインをデプロイする方が、多数のアドインをデプロイするよりも簡単だからです。
問題: Bootloader-Addin の後End Sub
でWorkbook_AddinInstall()
、追加/インストールされたばかりのアドインが VBE から消え、インストールされなくなります。ただし、それらはまだアドイン メニューに追加されています。
質問:すべてのアドインを手動ですべての PC にインストールできます。数が多いわけではないからです。この問題を解決するためにあなたの心に浮かぶすべてのアイデアに感謝します.
ブートローダー アドイン:
Private Sub Workbook_AddinInstall()
Const aiCount As Integer = 2
Dim ai As AddIn
Dim aiTmp As AddIn
Dim i As Integer
Dim aiPath As String
Dim aiToBeInstalled(1 To aiCount) As String
Dim aiInstalled(1 To aiCount) As Boolean
aiToBeInstalled(1) = "AddIn1.xla"
aiToBeInstalled(2) = "AddIn2.xla"
'AddIn added?
For Each ai In AddIns
For i = 1 To aiCount
If ai.name = aiToBeInstalled(i) Then
Set aiTmp = ai
aiTmp.Installed = True
aiInstalled(i) = True
Exit For
End If
Next i
Next ai
'Add not already added AddIns
For i = 1 To aiCount
If Not aiInstalled(i) Then
aiPath = GetDrivePath(volName:="somevolname", excludeDrives:="D") & _
"hidden\" & aiToBeInstalled(i)
Set ai = AddIns.Add(aiPath, False)
ai.Installed = True
End If
Next i
Set ai = Nothing
Set aiTmp = Nothing
End Sub ' After "End Sub" the addins are still added but not installed.
興味深い
こと ブートローダーのインストール後、この Sub を ごとに実行するF5
と、Sub はアドインを正常に追加します。そして、期待どおりに動作します。
編集:Workbook_AddinInstall
インストールされているアドインには
重要なものはなく、メニューにいくつかの変更が加えられているだけです。それを見て、これは本当に私を混乱させます。アドインが に関連付けられていないかのように動作するため、残りApplication
ません。
結論:これは私ができる限りのことですが、何かアイデアがあれば教えてください。私は現在回避策に取り組んでいますが、なぜこれが機能しないのか本当に知りたいです。