1

SAP-Gui Scriptingを使用してプロセスを自動化しようとしています。SAPの複数選択画面に複数の値を貼り付ける必要があります。

ここに画像の説明を入力

paste from clipboardこれが実行されるまでに、クリップボードの内容が変更されるため、使用できません。オプションを記録import from fileすると、コマンドが記録されません。これを達成する方法はありますか?

session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").text = "/nfs10n"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/btn%_SO_BUKRS_%_APP_%-VALU_PUSH").press

'  **The import from file command should go here.**

session.findById("wnd[1]/tbar[0]/btn[24]").press
session.findById("wnd[1]/tbar[0]/btn[8]").press

コマンドを試しましたCopyTextが、意図したとおりに機能しませんが、理由はわかりません。

Copytext fromFile="myfile.txt" toText="t1"
Copytext fromText="t1" -toclipboard

これを達成する方法はありますか?,クリップボードから貼り付けコマンドを使用する前にファイルをクリップボードに読み込むなど... 現在、そのような行項目は約 3000 あり、それらをループすると、スクリプトが長時間実行されます。

4

2 に答える 2

0

この問題の解決策は、SAP GUI スクリプトの設定にあります。選択するには、3 つのオプションすべてを無効化/非アクティブ化する必要があります。特に「Microsoft Windows のダイアログ ボックス」が表示されます。次に、ボタン 23 を録音し、ボタン 24 をオフのままにすることもできます。

PS "CopyText" コマンドは GuiXT から来ており、VB スクリプト内で簡単に適用することはできません。

よろしく、 ScriptMan

于 2016-03-01T10:28:39.837 に答える
0

[Microsoft Windows のネイティブ ダイアログ ボックスを表示する] の選択がアクティブでない場合、スクリプトは次のようになります。

session.findById("wnd[0]/usr/btn%_S_RECNNR_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/tbar[0]/btn[23]").press
session.findById("wnd[2]/usr/ctxtDY_PATH").text = "z:\"
session.findById("wnd[2]/usr/ctxtDY_FILENAME").text = "test.txt"
session.findById("wnd[2]/usr/ctxtDY_FILENAME").caretPosition = 8
session.findById("wnd[2]/tbar[0]/btn[0]").press
session.findById("wnd[1]/tbar[0]/btn[8]").press
于 2016-03-04T08:56:29.567 に答える