gpt4 book ai didi

vba - 在 VBA 和 VBS 中创建对象

转载 作者:行者123 更新时间:2023-12-04 14:42:26 26 4
gpt4 key购买 nike

最近在尝试访问中windows防火墙的属性和方法我引用了hnetcfg.dll并且能够为 inetfwMGr 等对象标注变量, inetfwPolicy等等

但我无法根据需要为它们创建对象,例如set obj = new inetfwmgr 行不通

阅读周围我了解到我需要使用CreateObject("hnetcfg.FwMgr") 进一步进步。

我想知道的是如何了解可以从 VBA 中的给定 dll 创建哪些对象。看引用here .我找不到任何线索表明您需要创建一个对象 hnetcfg.FwMgr能够继续。为什么FwMgr ?如何发现是否有其他对象是从 hnetgfg.dll 创建的?此信息是否应该是我未见过的引用文献中的信息,还是通过查看 hnetcfg 的属性而隐含的信息? ?

任何见解将不胜感激。谢谢

最佳答案

我对这个dll一无所知,但我认为这会有所帮助。

您可以使用 CreateObject,从长远来看,您可能希望增加可移植性。这称为“后期绑定(bind)”。另一方面,如果您设置了对 dll 的引用,则可以标注并创建新的 NetFwLibLib 对象(“早期绑定(bind)”)。这里的优点是您将获得智能感知并可以在对象浏览器中检查其属性。下面是一些用 Excel VBE 编写的代码:

Sub test()
Dim test As NetFwTypeLib.INetFwMgr
Set test = New NetFwTypeLib.INetFwMgr
With test
.CurrentProfileType = ...
End With
End Sub

此外,您可以使用对象浏览器检查 FwTypeLib。只需单击 F2(在本例中为 Excel 的 VBE),您将看到如下内容:

enter image description here

关于vba - 在 VBA 和 VBS 中创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9706932/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com