1

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

很感谢任何形式的帮助。我是一名工程师,不知何故被投入到需要大量编码的任务中。

4

2 回答 2

1

看起来您正在使用 VISA 库(当您打开 GPIB 资源时,它将委托给 GPIB 库)。因此,您应该拥有来自您的 VISA 供应商的 VISA32.bas,您至少可以将其中的一部分复制到您的 VBA 项目中。

或者,如果您的 VISA 供应商提供它并使用工具 -> 参考,则使用 VISA-COM。

于 2014-10-09T02:03:28.307 回答
0

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

在您的特定情况下,Declare可能类似于:

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

您需要在 %PATH% 系统变量中包含库文件“gpib_functions.dll”的路径,或者在Declare.

有关详细信息,请参阅“从 VBA 调用 DLL 函数和命令”。

于 2014-10-08T20:44:26.747 回答