問題タブ [sap-gui]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C# で現在のセッションを SAP GUI にアタッチする方法
SAP GUI を自動化しようとしています。SAP GUI を起動して接続できるライブラリ SAPFEWSELib を使用しました。これで、デスクトップ ショートカット プロセスが作成されました (SAP の組み込みユーティリティを使用)。そのため、毎回起動して接続する代わりに、特定の画面に直接移動して、そこから次のステップを自動化できます。これを達成するには、私は-
- デスクトップ ショートカットをトリガーして SAP を起動する
- 現在の SAP セッションをアタッチし、SAPFEWSELib ライブラリを使用して C# で自動化を実行します
試しましvar session = SapGuiApp.ActiveSession;
たが、セッションがnullになります。SAP セッションを SapGuiApp にアタッチする他の方法はありますか?
注 - SAPFEWSELibを使用してアクセスできるオブジェクトSapGuiApp
のタイプです。GuiApplication
参考文献-
vba - リストの終わりを見つけるためのアルゴリズム (SAP GUI)
SAP GUI 画面のリストに要素を追加するスクリプトを書いています。現在、SAP GUI を使用している場合、実際に画面上にない限り何も「存在しない」ように見えるため、最初のステップではリストの最後を見つける必要があります。
これは、各要素をスクロールして、空白かどうかを確認することで実現しました。
ただし、既存のリストが非常に大きい場合、これには長い時間がかかります。どうにか早く終息する方法を模索中です。私が知っているいくつかの真実/制限:
- リストの長さを知らないと思います。
-
リスト
verticalScrollbar.position
の最後をはるかに超えて命令することはできません。
たとえば。リストに 62 個の要素が含まれている場合、機能し.verticalScrollbar.Position = 100
ません。 - 上記の例の場合、SAP はエラーをスローしません。何も起こらず、次のコード行が実行されます。
- 要素へのすべての参照は、画面上の位置に関するものです。たとえば、5 桁下にスクロールすると、リスト全体の 6 番目の要素が実際には 1 としてインデックス付けされます。
- 一方、
verticalScrollbar.Position
絶対的です
私は次のことを考えています(非常に疑似コードで):
...など、i
1 つずつ反復するまで続けます。
この種の「検索」を行う一般的に受け入れられているより良い方法はありますか? どんな入力でも大歓迎です。ありがとう
vba - VBA スクリプトは SAP GUI エラーを読み取ることができますか?
希望はありませんが、vba スクリプトが SAP GUI によってスローされているエラーを特定する方法があるかどうか疑問に思っています。たとえば、トランザクションが別のユーザーによってロックされている場合です。
現在、このエラーが発生した場合、スクリプトはそれを考慮せずに次の行に進みます (これは通常、押したボタンがまだ存在しないため、エラーになります)。可能であれば、ユーザーが修正できるように、次の行の前にそのエラーを特定したいと思います。
場合によっては、スクリプトにエラーを想定させる回避策を実行すると、on error resume next
しかし、それは私をうんざりさせ、すべての状況で機能するとは限りません。
例:
明確にするために、私は次のようなものに到達しようとしています:
abap - WebDynpro ABAP アプリケーション開発の問題
WebDynpro Abap を開発しようとしていますが、次のエラーに直面しています。
この問題を解決する方法を教えてもらえますか、または承認がありません。
ありがとう、エリザ
excel - SAP の xls ファイルかどうかを確認します
特定のレポートを作成するには、SAP から複数の xls ファイルを自動的にエクスポートする必要があります。ここまでは、SAP GUI スクリプトを使用して、トランザクション コードと DIR 番号 (ドキュメントごとに一意) を入力しました。xlsファイルを1つだけダウンロードすると、これは完全に機能します。ただし、複数のxlsをダウンロードする必要があります。
画像でわかるように、xls ファイルは 2 番目の位置にあります。つまり、私のスクリプトでは、2 番目の位置にあるすべてのファイルをエクスポートするだけです。たとえば、2 番目に PDF がある場合、自動的に PDF がエクスポートされ、レポートを作成できません。
ここではエクスポートする 2 番目の「ノード」を選択するため、最後の 2 行が重要です。ここで、xls ファイルかどうかを確認する必要があります。
c# - 80040154 Class not registered execption を解決するために必要なこと
ターゲット マシンでプロジェクトを実行しようとしたときにのみ、次のエラーに直面しています。
[エラー] ExecuteTestScriptsOnSAP_GUI: CLSID {B90F32AD-859E-4EDD-BFAE-C9216849520C} のコンポーネントの COM クラス ファクトリを取得できませんでした。次のエラーが発生しました: 80040154 クラスが登録されていません (HRESULT からの例外: 0x8004015 4 (REGDB_E_CLASSNOTREG))。
私の開発マシンでは問題なく動作しているようです。
私はSAP gui 7.40
自分のプロジェクトから起動しようとしていますが、それはへの参照を持っていますInterop.SAPFEWSELib.dll
上記の.dll
ファイルはsapfewse.ocx
、プロジェクトへの依存関係として最初に追加されたときにビルドされました。
この問題を解決するために何ができるか教えてください。