通过Excel通过GPIB发送命令VBA

问题描述:

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

任何帮助,非常感谢。我以工程师的身份工作,不知何故被抛到需要大量编码的任务中。

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

在特定情况下,Declare可能看起来像:

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

你需要在您%PATH%系统变量的路径,库文件“gpib_functions.dll”,要不然明确列出Declare中的完整路径。

有关更多信息,请参阅'Calling DLL Functions and Commands from VBA'。

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

如果您的签证供应商提供VISA-COM并使用工具 - >参考资料,则使用VISA-COM。