我有这个网络分析器,需要通过Excel VBA和GPIB向它发送命令。我已经将GPIB和其他硬件设置得很好,但我不知道如何简单地通过GPIB将命令发送到分析仪。我有相当多的编程经验,但我对VBA来说是全新的。在小时搜索硬件文档和VBA教程之后,我的精神正在慢慢消亡。我相信我需要在VBA中添加正确的引用(工具 - >引用),但是当我尝试运行文档给出的示例代码(“Call viOpenDefaultRM(defrm)”)时,我得到Sub或函数不是的错误定义
非常感谢任何帮助。我是一名工程师,不知何故被投入到需要大量编码的任务中。
答案 0 :(得分:1)
看起来您正在使用VISA库(当您打开GPIB资源时会委托给GPIB库)。因此,您应该从VISA供应商处获得VISA32.bas,您至少可以将部分内容复制到VBA项目中。
如果您的VISA供应商提供VISA-COM并使用工具,请使用VISA-COM。参考文献。
答案 1 :(得分:0)
要引用外部DLL中的函数,您需要在Excel文件的模块中Declare
它们。声明标识外部库的路径,入口点,外部函数的参数和返回值类型。
在您的具体情况下,Declare
可能类似于:
Public Declare Sub viOpenDefaultRM Lib "gpib_functions.dll" (defrm as String)
您需要包含库文件的路径" gpib_functions.dll"在您的%PATH%系统变量中,或者明确列出Declare
中的完整路径。
请参阅' Calling DLL Functions and Commands from VBA'了解更多信息。