低レベル プロパティにアクセスする

SapGuiInvokeMethodSapGuiSetPropertySapGuiGetProperty の関数を使用すると、アクティブな画面上にある任意のコントロールの低レベル プロパティにアクセスできます。 これにより、たとえばテキスト コントロールが読み取り専用であることを確認したり、ラベルの背景色を決めたりできます。

SAPGUI テストに使用する SAPGUI スクリプト記述 API は大規模な COM ライブラリであり、Silk Performer によるコントロールへのアクセスおよびアクションの実行を許可します。 これと同じ COM ライブラリは上述の API 呼び出しによって使用できます。 個々のコントロールが提供するメソッドおよびプロパティのリストにアクセスするには、SAPGUI スクリプト記述 API のタイプ ライブラリを調査する必要があります。 そのためには、タイプ ライブラリを効率的に調査にするツールが必要です (Microsoft Visual Studio に付属する Ole32View など)。 ツールを使用して sapfewse.ocx ファイルを開きます。このファイルは、\FrontEnd\SapGuiSAPGUI インストール ディレクトリにあります。 下のイメージは、ラベル コントロールでアクセスできるプロパティを表しています。

ラベル コントロールを使用してアクセスできるプロパティのイメージ

コントロールの ID がわかっているコントロールの名前を取得するには、次の呼び出しを使用します。

SapGuiGetProperty("/usr/lbl[1,2]", "Name", sOutValue);
Print("The control has the following name:" + sOutValue);

ほとんどのプロパティが文字列、数字またはブール値パラメータといった単純データ型を返します。 他のオブジェクトを返すプロパティもあります。たとえば、Parent プロパティは現在のコントロールの親コントロールを返します。 プロパティが別のコントロールを返す場合、コントロールは一時的にキャッシュに保存され、SAPGUI_ACTIVEOBJECT の定数を介してアクセスできます。 次は、親プロパティの名前を取得するコードのサンプルです。

SapGuiGetProperty("/usr/lbl[1,2]", "Parent");
SapGuiGetProperty(SAPGUI_ACTIVEOBJECT, "Name", sOutValue);
Print("The parent control has the following name:" + sOutValue);

620 クライアントと 640 クライアントの差異

SAP はその SAPGUI 640 クライアントに新しいプロパティとメソッドを導入しました。 たとえば、640 を使用すると、ラベルやチェックボックスの背景色を取得できます。 そのため、640 でスクリプトを作成する場合は、必ずエージェントも 640 で実行され、同じパッチ レベルが使用されている必要があります。 そうでない場合、エージェントで使用できないプロパティを要求したり、エラーが生成されたりすることがあります。

プロパティの概要

SAP は次のプロパティを持つコンポーネントで構成されます (ComClass GuiComponent)。

  • 'Name' - コントロール名
  • 'Type' - テキスト形式のコントロール タイプ (GuiButton、GuiTextField など)
  • 'TypeAsNumber' - すべてのタイプが内部の数字を持つ (30=GuiLabel、31=GuiTextField など)
  • 'ContainerType' - コントロールがコンテナであるか否かを定義するブール値プロパティ。 コンテナには別のコントロールが子として含まれます (ツールバーはツールバー ボタンを含むコンテナなど)。
  • 'Id' - コントロールの一意の ID
  • 'Parent' - コントロールがコンテナに含まれる場合、このプロパティは親コントロールを返す

コントロールなどのビジュアル コンポーネントは、次の追加のプロパティを持ちます (ComClass GuiVComponent)。

  • 'Text' - コントロールのメイン テキスト (テキスト コントロールのテキストやボタンのテキストなど)
  • 'Left'、'Top'、'Width'、'Height'、'ScreenLeft'、'ScreenTop' - 画面座標と親コンテナ内での座標の詳細を表す数値
  • 'Changeable'、'Modified' - コントロールの現在の状態を表すブール値パラメータ (コントロールが変更可能かまたは読み取り専用か、コントロールが修正されたかなど)

各コントロール タイプは、タイプ ライブラリ調査ツールを介して COM タイプ ライブラリで確認可能な追加のプロパティを持つことがあります。