通过Excel VBA通​​过GPIB发送命令

我有这个networking分析器,需要通过Excel VBA和GPIB发送命令。 我将GPIB和其他硬件设置得很好,但我不知道如何简单地通过GPIB发送命令到分析器。 我有相当的编程经验,但我是VBA的全新。 经过几个小时search硬件文档和VBA教程,我的精神正在慢慢死去。 我相信我需要在VBA(工具 – >参考)中添加正确的引用,但是当我尝试运行文档给出的示例代码(“调用viOpenDefaultRM(defrm)”),我得到一个错误,没有定义Sub或函数。

很感谢任何forms的帮助。 我作为一名工程师工作,不知何故被扔进需要大量编码的任务。

它看起来像你正在使用一个VISA库(当你打开一个GPIB资源时,它将委托给一个GPIB库)。 所以,你应该从你的VISA供应商那里得到一个VISA32.bas,你至less可以将部分复制到你的VBA项目中。

或者如果您的签证供应商提供VISA-COM并使用工具 – >参考。

要引用外部DLL中的函数,您需要将它们Declare在Excel文件中的模块中。 该声明标识了外部库的path,入口点,外部函数的参数和返回值types。

在你的具体情况下, Declare可能看起来像这样:

 Public Declare Sub viOpenDefaultRM Lib "gpib_functions.dll" (defrm as String) 

您需要在%PATH%系统variables中包含库文件“gpib_functions.dll”的path,否则在Declare显式列出完整path。

请参阅“ 从VBA调用DLL函数和命令 ”了解更多信息。