VB.NET関数を呼び出す

簡単な例から始めます。”Hello VB!”というテキストを返すVB.NET関数を呼び出します。

以下の手順で行います。

  • Visual Studioにて、”クラスライブラリ”として新規VB.NETプロジェクトを作成します。
  • 例えば”testclass.vb”クラスにて、以下の関数を実装します。
1

2

3

4

5

6

7

    Public Function hellovb() As String

 

Dim returnstring As String = “Hello VB!”

 

Return returnstring

 

End Function

 

  • プロジェクトをコンパイルしてDLLを作成します。

  • プロジェクトのプロパティにて、”ターゲットフレームワーク”を.NET 4.0に設定します。GuiXTは、VBインターフェイスにて.NET framework 4.0を想定します。

  • このDLL(およびその他必要なDLL)を適切なディレクトリにコピーし、GuiXTのプロファイルにてそのパスを指定します。

: GuiXTのセットアップに含まれるインターフェイスクラスライブラリ”guinet.dll”も、このフォルダーにコピーする必要があります。

テストに関する注意事項: 作成したVB関数を呼び出すと、作成したDLLがSAP GUIに読み込まれますが、SAP GUI(saplogon.exeプロセス)が実行されている間は、新しいバージョンで上書きできません。作成した最新のバージョンを使用するには、すべてのSAP GUIウィンドウおよびSAPログオンウィンドウを閉じるか、Windowsタスクマネージャーでsaplogon.exeを終了してから、そのDLLをコピーする必要があります。

  • GuiXT ScriptまたはInputScriptにて、作成したVB.NET関数を”CallVB”コマンドで呼び出します。

CallVB msg = utilities.testclass.hellovb

message “&V[msg]”  -statusline

クラスライブラリ”utilities.dll”の”testclass”クラスのVB.NET関数”hellovb”が実行され、その結果がGuiXT変数V[msg]に設定されます。

戻り値を受け取りたくない場合は、以下のように関数を呼び出します。

CallVB hellovb

  • SAP GUIのステータス行に、作成したVB.NET関数により返された文字列が表示されます。