何をお探しですか?
ExcelおよびバンドルされたVisual Basic for Applicationsによる測定器の制御方法
Microsoft Excelには、Visual Basic for Applications (VBA)という優れたプログラミング言語が装備されています。VBA、Excel、VISA COMライブラリを使って、測定器の制御とデータ検索を行うことができます。
注記: このチュートリアルに示す例を実行するには、測定器とのGPIB接続が必要です。
注記: Visual Basic for Applicationsのヘルプ・システムは、通常のExcelインストールには含まれません。VBA構文についてのヘルプを表示できない場合は、Microsoft ExcelまたはMicrosoft Officeセットアップ・ディスクを使ってVBAヘルプ・ファイルをインストールする必要があります。
ステップ1: 新しいプロジェクトを開きます

Excelを起動し、コントロール・ツールボックス(表示 > ツールバー > コントロール ツールボックス)を表示します。
コントロール・ツールボックスのコマンド・アイコンを押して、ワークシート上にコマンド・ボタンを描画します。フォームにコントロールを配置すると、自動的にデザイン・モードに入ります。現在のモードは、コントロール・ツールバーの左上のアイコンによっても示されます。このアイコンを使用して、デザイン・モードのオン/オフを切り替えます。
コマンド・ボタンをダブルクリックしてVBAエディタを開きます。別の方法として、コントロール・ツールボックスの[コードの表示]アイコンをクリックします。コマンド・ボタンのクリック・イベントに対するスケルトン・コードが表示されます。
ステップ2: 適切な参照設定を行います
VBAエディタのメニュー・バーで、ツール > 参照設定をクリックしてすべての使用可能なライブラリを表示します。Keysight VISA COM Resource Manager 1.0とVISA COM 1.0 Type Libraryを見つけ、横のボックスをチェックして、OKをクリックします。
ステップ3:測定器に接続します
通常、IEEE 488.2準拠の測定器に接続するには、次のコードを入力します。
Private Sub CommandButton1_Click()
Dim ioMgr As KeysightRMLib.SRMCls
Dim instrument As VisaComLib.FormattedIO488
Dim idn As String
Set ioMgr = New KeysightRMLib.SRMCls
Set instrument = New VisaComLib.FormattedIO488
Set instrument.IO = ioMgr.Open("GPIB0::22") ' 22 = instr. address
instrument.WriteString "*IDN?"
idn = instrument.ReadString()
ActiveSheet.Cells(1, 1) = idn
End Sub
WriteStringメソッドは測定器に*IDN?文字列を送信します。ReadStringメソッドは測定器の返事を読み取ります。返された文字列がワークシートのセルA1に入力されます。
ステップ4:コードをテストします
ワークシートに戻り、コントロール・ツールボックスの[デザイン モード]アイコンをクリックして、デザイン・モードを終了します。ワークシート上のコマンド・ボタンをクリックします。測定器IDがワークシートのセルA1に入力されます。
ボタンが、測定器の問合せの送信に使用したクリック・イベントを呼び出し、結果をワークシートに返します。
フォームの使用方法
Excelを起動し、Alt+F11を押すか、ツール > マクロ > Visual Basic Editorメニューを使用して、Visual Basicエディタを開きます。
デフォルト・プロジェクトに新しいフォームを挿入するには、VBAメニュー・バーの挿入 > ユーザー フォームをクリックします。
[プロパティ]ウィンドウを表示するには、フォームを右クリックして、[プロパティ]を選択します。参照設定を追加するには、この記事のステップ1を参照してください。ExcelのVBAをVisual Basic 6.0と同様に使用して作業を継続します。