我有这个网络分析器,需要通过Excel和GPIB向它发送命令。我已经设置了GPIB和其他硬件,但我不知道如何通过GPIB向分析器发送命令。我有相当多的编程经验,但我是全新的VBA。在搜索了几个小时的硬件文档和VBA教程之后,我的精神正在慢慢消亡。我认为我需要在VBA (Tools -> Reference)中添加正确的引用,但是当我试图运行文档(“调用viOpenDefaultRM(defrm)")提供的示例代码时,我会得到一个错误,即没有定义子函数或函数。
任何帮助都是非常感谢的。我是一名工程师,不知怎么地,我被抛到了需要大量编码的任务中。
发布于 2014-10-09 02:03:28
看起来您使用的是VISA库(打开GPIB资源时它将委托给GPIB库)。因此,您应该从您的签证供应商获得一个VISA32.bus,您至少可以将其部分复制到您的VBA项目中。
或者使用VISA,如果您的签证供应商提供它,并使用工具->引用它。
发布于 2014-10-08 20:44:26
若要引用外部DLL中的函数,您需要在Declare文件中的一个模块中引用它们。声明标识到外部库的路径、入口点、外部函数的参数和返回值类型。
在您的具体情况下,Declare看起来可能如下所示:
Public Declare Sub viOpenDefaultRM Lib "gpib_functions.dll" (defrm as String)您需要在% path % system变量中包含指向库文件"gpib_functions.dll“的路径,或者在Declare中显式列出完整的路径。
有关更多信息,请参见“从VBA(http://msdn.microsoft.com/en-us/library/office/bb687915(v=office.15%29.aspx#sectionSection0))调用DLL函数和命令”。
https://stackoverflow.com/questions/26264700
复制相似问题