このすべては、あなたのSAPシステムに持っているアクセスの種類をによって異なります。データを直接エクスポートするために呼び出すことができるデータおよび/またはRFCをエクスポートするABAPプログラム、またはSAPがファイルを作成するようにするのがおそらく最適です。
一般的に、この種の回答を探している人は、IT部門が何ヶ月も自分のSAPシステムをカスタマイズする必要はありません。あなたはおそらく、SAP GUIスクリプトを使用したいという場合には
。 SAP GUIスクリプトを使用すると、Excelを自動化するのとほぼ同じ方法でWindows SAP GUIを自動化できます。実際には、Excelマクロから直接SAP GUIを呼び出すことができます。詳しくはhereを読んでください。 SAP GUIには、Excelのようなマクロ記録ツールがあります。 Excel VBAとほぼ同じVBScriptにマクロを記録し、通常はExcelマクロに直接コピーして貼り付けることができます。ここではサンプルコード
は、私はへのアクセス権を持っているSAPシステムに基づいた簡単な例です。
Public Sub SimpleSAPExport()
Set SapGuiAuto = GetObject("SAPGUI") 'Get the SAP GUI Scripting object
Set SAPApp = SapGuiAuto.GetScriptingEngine 'Get the currently running SAP GUI
Set SAPCon = SAPApp.Children(0) 'Get the first system that is currently connected
Set session = SAPCon.Children(0) 'Get the first session (window) on that connection
'Start the transaction to view a table
session.StartTransaction "SE16"
'Select table T001
session.findById("wnd[0]/usr/ctxtDATABROWSE-TABLENAME").Text = "T001"
session.findById("wnd[0]/tbar[1]/btn[7]").Press
'Set our selection criteria
session.findById("wnd[0]/usr/txtMAX_SEL").text = "2"
session.findById("wnd[0]/tbar[1]/btn[8]").press
'Click the export to file button
session.findById("wnd[0]/tbar[1]/btn[45]").press
'Choose the export format
session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[1,0]").select
session.findById("wnd[1]/tbar[0]/btn[0]").press
'Choose the export filename
session.findById("wnd[1]/usr/ctxtDY_FILENAME").text = "test.txt"
session.findById("wnd[1]/usr/ctxtDY_PATH").text = "C:\Temp\"
'Export the file
session.findById("wnd[1]/tbar[0]/btn[0]").press
End Sub
スクリプトの記録
スクリプトの記録を使用することができ、そのようなwnd[1]/tbar[0]/btn[0]
などの要素の名前を見つけるのに役立ちます。その後、スクリプトの記録と再生メニュー項目を見つける
: ローカルレイアウト]ボタンをクリックしてカスタマイズし、それはおそらく少しこのようになります。
ボタンの中で、More
ボタンを使用すると、VB Scriptが記録されているファイルを表示/変更することができます。初期および後期直接VBAマクロにコピーした場合に提供されたスクリプトは動作するはず
を結合:出力形式は
など、それがテキストフィールド内をクリックし、テキストを選択するようなものを記録、編集少し厄介です。レイトバインディングを使用すると、
Set SapGuiAuto = GetObject("SAPGUI")
行にSapGuiAutoオブジェクトが定義されます。
ただし、VBAエディタで使用するオブジェクトのプロパティとメソッドが表示されるようにアーリーバインディングを使用する場合は、sapfewse.ocx
への参照をSAP GUIインストールフォルダに追加する必要があります。
データをエクスポートする製品は指定しないでください(SAPは膨大な数の製品を出荷している会社です)。どのようなレポートや書式設定の基礎となるレポート手法は指定しません。これ以上の情報なしでこの質問に答えるのは難しいです。 – vwegert