自动添加对可用参考的参考

Adding a Reference to the Available References Automatically

我在互联网上搜索并阅读了相关文章,但没有找到我的问题的明确答案。

我想总结一下我的工作。我正在使用第三方程序 (Simpack) Com-Interface 从 Simpack 程序获取数据和信息到我的 excel sheet.

我正在使用 Set Srv = CreateObject("Simpack.Slv") 进行 COM 实现。但在此之前,我应该从 Tools > References > Browse > C:\Program Files\Simpack-2018x\run\bin\win64\_simpack-com-slv.exe 定义 COM 接口 *.exe 文件,当我第一次打开我的宏书或关闭它然后打开时。我不能使用 Simpack 的 COM 库。因为它从未在带勾号或不带勾号的可用参考部分中列出。所以我应该再去 Tools > References > Browse > C:\Program Files\Simpack-2018x\run\bin\win64\_simpack-com-slv.exe 使用 Simpack 库。

不知道是不是和我的绑定类型有关?还是我遗漏了一些重要的东西,但如果它能自动执行此过程,那就太好了 Tools > References > Browse > C:\Program Files\Simpack-2018x\run\bin\win64\_simpack-com-slv.exe

亲切的问候。

首先,您需要允许以编程方式访问您的 VBA 项目。在 Excel 功能区:DEVELOPER->Macro Security 并勾选 "Trust access to VBA project object model"。那么你可以试试这个:

ThisWorkbook.VBProject.References.AddFromFile "C:\Program Files\Simpack-2018x\run\bin\win64\_simpack-com-slv.exe"

也许是这样的。 . . .

运行 获取引用的 GUID:

'******** Commented out but finds dependent GUID references in the project
'Dim obj As Object
'For Each obj In ThisWorkbook.VBProject.References
    'Debug.Print "Name: ", obj.Name
    'Debug.Print "FullPath: ", obj.FullPath
    'Debug.Print "Version: ", obj.Major & "." & obj.Minor
    'Debug.Print "GUID: ", obj.GUID

'Next obj
'*******************************

然后在您的代码模块中执行类似的操作并子添加引用。 . .

'VBA
strGUID = "{000204EF-0000-0000-C000-000000000046}"

'ALERT: Don't slay me for On Error Resume Next
'I was doing this fairly quickly this morning
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
GUID:=strGUID, Major:=1, Minor:=0

我不打算切换 VBA 信任,那可能被视为不良行为。

干杯,Wookie