我写了一个插件,它在安装时添加了其他插件,因为部署一个插件比部署一大堆插件更容易。
问题:在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 per F5
,Sub 添加插件就好了。并且表现得像你期望的那样。
编辑:Workbook_AddinInstall
正在安装的插件
没有调用任何重要的东西,只是对菜单进行了一些更改。看到这里,真的让我很困惑。它的行为就好像插件没有与 相关联,Application
所以它们不会留下来。
结论:这是我能做到的,如果你有任何想法,请告诉我。我目前正在研究一种解决方法,但我真的很想知道为什么这不起作用。