Excel VBA对象.设置奇怪的东西



我在Excel VBA中使用objSNMP.get方法没有任何问题。

我想使用objSNMP.set方法,但不幸的是,它没有那么容易。根据该网站的说法,它应该类似于get,不同的是还有一个参数:要发送的值。

如果我尝试官方方式:

objSNMP.Set ("43.18.1.1.2", OIDValue)

图片1我收到消息";编译错误:语法错误;。我找到了另一个有条件工作的解决方案。即如下(可以在图片中看到注释(:

randomVarName = objSNMP.Set("OID", Value)

例如:

temp = objSNMP.Set(".1.3.6.1.4.1.9.9.68.1.2.2.1.2." & PortNum, 21)

在这种情况下,代码运行时不会出现错误这很有趣,因为我在任何地方都没有找到任何关于这方面的官方信息。在互联网深处的某个地方,我不久前才找到这个可能的解决方案。

另一方面,如果我不直接输入值,而是在那里写一个变量的名称(例如VLANNum(,

temp = objSNMP.Set(".1.3.6.1.4.1.9.9.68.1.2.2.1.2." & PortNum, VLANNum)

我收到一条错误消息。图片2变量的类型是未声明的,字符串还是整数都无关紧要。我还在Excel中尝试了几种不同的单元格类型,但都没有改变。

错误消息为:

运行时错误'-2147467259(80004005(':

请求的SNMP操作试图修改变量,但出现语法或值错误。

基于上述情况,我无法在";objSNMP.Set";方法,使其可以发送值。我只能在创建4094个不同的";objSNMP.Set";行,并从中选择必要的内容。效率不是很高。

我有解决方案。随变量传递的值以以下形式工作:

objSNMP.Set ".1.3.6.1.2.1.2.2.1.7.9", CInt(x)

其中x是变量。

最新更新