2014-10-08 290 views
1

我有這個網絡分析器,需要通過Excel VBA和GPIB發送命令。我將GPIB和其他硬件設置得很好,但我不知道如何簡單地通過GPIB將命令發送到分析儀。我有相當豐富的編程經驗,但我是VBA的全新人物。經過小時搜索硬件文檔和VBA教程,我的精神正在慢慢消逝。我相信我需要在VBA中添加正確的引用(工具 - >引用),但是當我嘗試運行文檔給出的示例代碼時(「調用viOpenDefaultRM(defrm)」),我得到一個錯誤,未定義Sub或函數。通過Excel通過GPIB發送命令VBA

任何幫助,非常感謝。我以工程師的身份工作,不知何故被拋到需要大量編碼的任務中。

回答

0

要引用外部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'。

1

看起來您正在使用VISA庫(當您打開GPIB資源時,它將委託給GPIB庫)。所以,你應該從你的VISA供應商那裏獲得一個VISA32.bas,你至少可以將部分複製到你的VBA項目中。

如果您的簽證供應商提供VISA-COM並使用工具 - >參考資料,則使用VISA-COM。