マクロを使って Transaction スクリプトを実行する - Automate_Studio - 20.3

Connect オンライン ヘルプを使用して Studio を自動化する

Product type
ソフトウェア
Portfolio
Integrate
Product family
Automate
Product
Automate > Automate Studio
Version
20.3
Language
日本語
Product name
Automate Studio
Title
Connect オンライン ヘルプを使用して Studio を自動化する
Topic type
インストール
リファレンス
管理
操作方法
First publish date
2018

マクロを使用してスクリプトを実行するには、Visual Basic for Applications (VBA) でマクロを作成します。

  1. 実行するスクリプトに関連付けられているデータ ファイルを開きます。
    注:

    マクロが有効なファイル、つまり .xlsm ファイルを使用していることを確認してください。

  2. Alt+F11 を押下します。
  3. VBA エディターの[Microsoft Excel オブジェクト]で、実行するデータが含まれているシートをダブルクリックします。
  4. 以下のコードをコピーしてウィンドウに貼り付けます。
  5. 以下のデータ ファイル パス、スクリプト ファイル パス、シート名、自動ログオン名を、ファイルの情報と自動ログオン名に置き換えてください。
  6. [保存]をクリックして、VBA エディターを閉じます。
  7. Excel で、[ビュー]タブをクリックしてから、[マクロ]をクリックします。
  8. 実行するマクロをクリックしてから、[実行]をクリックします。
注:

: Excel アドインがアクティブになっていないこと(Connect にログ オンしていないこと) を確認してください。

非同期マクロ実行がサポートされています。

Transaction マクロ

公開されたスクリプトを実行する

  1. アドイン オブジェクトを定義します。

    Dim StudioMacrosAddin, StudioMacros

  2. Excel からアドイン オブジェクトを取得します。

    Set StudioMacrosAddin = Application.COMAddIns.Item("WinshuttleStudioMacros.AddinModule")

  3. アドイン オブジェクトから COM オブジェクトを取得します。

    Set StudioMacros = StudioMacrosAddin.Object.Macros

  4. 実行する公開ファイルを選択し、他の実行プロパティを定義します (Transaction アドイン オブジェクトのプロパティを参照)。

    Dim StudioMacros.PublishedFile = "MM02_MacroTest"

  5. 公開スクリプトを開きます。

    StudioMacros.OpenPublishedScript

  6. アドイン オブジェクトを実行してスクリプトを実行します。

    StudioMacros.RunScript

既存の Transaction スクリプトを実行する

  1. アドイン オブジェクトを定義します。

    Dim StudioMacrosAddin, StudioMacros

  2. Excel からアドイン オブジェクトを取得します。

    Set StudioMacrosAddin = Application.COMAddIns.Item("WinshuttleStudioMacros.AddinModule")

  3. アドイン オブジェクトから COM オブジェクトを取得します。

    Set StudioMacros = StudioMacrosAddin.Object.Macros

  4. 実行する Transaction スクリプトを選択し、他の実行プロパティを定義します (Transaction アドイン オブジェクトのプロパティを参照)。

    以下は、ソリューションを ローカルで実行するためのものです: Dim strShuttleFile= "C:\Users\Normal_Tx_Macro.txr" 以下は 、Evolve からソリューションを実行するためのものです: StudioMacros.LibraryName = "Transaction" ソリューション名を Evolve から提出されたソリューションに設定します。strShuttleFile = "MM02"

  5. スクリプトを開いて実行します。

    StudioMacros.OpenScript (strShuttleFile)

  6. アドイン オブジェクトを実行してスクリプトを実行します。

    StudioMacros.RunScript

注:

「個別からすべて」設定のチェーン スクリプトの場合、ユーザーがマクロを使用して SAP Trust タイプの SAP サーバーでスクリプトを実行すると、スクリプトごとに SAP ログオン ダイアログが表示されます。これは、マクロ コードパラメータ「StudioMacros.UseSameSAPServerForChain」を使用し、最初のスクリプトの SAP セッションが後続のすべてのチェーン スクリプトに使用されるようにすることで処理できます。

Transaction アドイン オブジェクトのプロパティ

スクリプトで設定された実行設定または高度な実行オプションは、マクロの実行中に尊重されません。これらは、アドイン オブジェクトに対して公開されているさまざまなプロパティを介して設定する必要があります。

プロパティ/機能 値/パラメータ 説明

公開ファイル

公開スクリプトの説明

実行する公開ファイルを選択する

OpenPublishedScript

NA

公開スクリプトを開く

OpenScript()

スクリプト ファイルのパス

スクリプトを開いて実行する

LibraryName ライブラリ名 ソリューションを含むライブラリを開きます

StartRow

行番号

データのアップロードを開始する Excel の行

EndRow

行番号

データをアップロードする最後の Excel の行

WriteHeader

NA

実行中にヘッダーを書き込む

LogColumn

列/セル

実行ログが書き込まれる列またはセル

SheetName

シート名

実行に使用されるシート名

ConnectionName

SAP 接続名

SAP 接続名

StudioMacros.ConnectionName = "w6r"

Evolve および Studio Manager の場合に使用されます

RunReason

実行理由文字列

この実行の理由を指定する

RunSelectedRows

NA

True – Excel で選択された行のみを実行する

RunFilteredRows

NA

True – Excelで表示されている行のみを実行する

RunType

0 – 指定された範囲を実行

1 - 実行してエラー時に停止

2 – 最初の 5 行を実行

3 – エラー行のみを実行

4 - 未処理の行のみを実行

5 – 指定された範囲をデバッグ

6 – 最初の行のみをデバッグ

7 – 指定された範囲を検証

8 – 最初の 5 行を検証

9 – エラー行のみを検証

10 – 未処理の行のみを検証

11 - 指定された範囲をシミュレーション

12 - 最初の 5 行をシミュレーション

13 - エラー行のみをシミュレーション

14 - 未処理の行のみをシミュレーション

15 – 未処理の行とエラー行を実行

16 - 未処理の行とエラー行を検証

17 - 未処理の行とエラー行をシミュレーション

可能な値から実行のタイプを選択します

 

RunScript

NA

スクリプトを実行します

SyncCall

NA

True – スクリプトを同期的に実行する

サンプル コード: 公開された Transaction スクリプトを実行する

 このサンプル コードは、「エラー行と未処理の行を実行」実行タイプで更新されます。

  Sub RunPublishedTXRfile() '---------------------------------------------- ' Macro to use WinshuttleStudioMacros addin with code '---------------------------------------------- ' ' RunPublishedfile Macro ' ' Dim StudioMacrosAddin, StudioMacros      On Error GoTo ErrHandler       ' GET ADDIN OBJECT FROM EXCEL       Set StudioMacrosAddin = Application.COMAddIns.Item("WinshuttleStudioMacros.AddinModule")        If StudioMacrosAddin Is Nothing Then          MsgBox "Unable to initialize object of WinshuttleStudioMacros.AddinModule addin"          Exit Sub       End If        ' Get com object from addin object       Set StudioMacros = StudioMacrosAddin.Object.Macros       If StudioMacros Is Nothing Then          MsgBox "Unable to initialize com object of Macros"          Exit Sub       End If        ' Select the published file to Run       StudioMacros.PublishedFile = "MM02_MacroTest"        StudioMacros.StartRow = 2       StudioMacros.EndRow = 6        ' Set True to write headers while Run       StudioMacros.WriteHeader = True    'StudioMacros.LogColumn = "H"   'StudioMacros.SheetName = "Sheet2"    'StudioMacros.ConnectionName = "w6r-800"        ' Set RunReason to provide reason for run.       StudioMacros.RunReason = "Run Reason"         'StudioMacros.RunSelectedRows = True       'StudioMacros.RunFilteredRows = True         ' RunSpecifiedRange = 0,       ' RunAndStopOnErrors = 1,       ' RunFirstFiveRows = 2,       ' RunOnlyErrorRows = 3,       ' RunOnlyUnProcessedRows = 4,       ' DebugSpecifiedRange = 5,       ' DebugFirstRowOnly = 6,       ' ValidateSpecifiedRange = 7,       ' ValidateFirstFiveRows = 8,       ' ValidateOnlyErrorRows = 9,       ' ValidateOnlyUnProcessedRows = 10,       ' SimulateSpecifiedRange = 11,       ' SimulateFirstFiveRows=12,       ' SimulateOnlyErrorRows=13,       ' SimulateOnlyUnprocessedRows=14,   ' RunUnProcessedAndErrorRows=15,       ' ValidateUnProcessedAndErrorRows=16,       ' SimulateUnProcessedAndErrorRows=17        StudioMacros.RunType = 0        ' Call the Run Function to open published script       StudioMacros.OpenPublishedScript        ' Call the Run Function to run script       StudioMacros.RunScript       Exit Sub   ErrHandler:      MsgBox Err.Description   End Sub 

 

サンプル コード: 既存の Transaction スクリプトを実行する

Sub RunNormalTXRfile()  '---------------------------------------------- ' Macro to use WinshuttleStudioMacros addin with code '---------------------------------------------- ' ' RunPublishedfile Macro  '   Dim StudioMacrosAddin, StudioMacros      On Error GoTo ErrHandler       ' GET ADDIN OBJECT FROM EXCEL       Set StudioMacrosAddin = Application.COMAddIns.Item("WinshuttleStudioMacros.AddinModule")         If StudioMacrosAddin Is Nothing Then          MsgBox "Unable to initialize object of WinshuttleStudioMacros.AddinModule addin"          Exit Sub       End If         ' Get com object from addin object       Set StudioMacros = StudioMacrosAddin.Object.Macros       If StudioMacros Is Nothing Then          MsgBox "Unable to initialize com object of Macros"          Exit Sub       End If       StudioMacros.StartRow = 2       StudioMacros.EndRow = 0        ' Set True to write headers while Run       StudioMacros.WriteHeader = True    'StudioMacros.LogColumn = "H"   'StudioMacros.SheetName = "Sheet2"    'StudioMacros.ConnectionName = "w6r-800"    ' Set RunReason to provide reason for run.       StudioMacros.RunReason = "Run Reason"       'StudioMacros.RunSelectedRows = True       'StudioMacros.RunFilteredRows = True         ' RunSpecifiedRange = 0,       ' RunAndStopOnErrors = 1,       ' RunFirstFiveRows = 2,       ' RunOnlyErrorRows = 3,       ' RunOnlyUnProcessedRows = 4,       ' DebugSpecifiedRange = 5,       ' DebugFirstRowOnly = 6,       ' ValidateSpecifiedRange = 7,       ' ValidateFirstFiveRows = 8,       ' ValidateOnlyErrorRows = 9,       ' ValidateOnlyUnProcessedRows = 10,       ' SimulateSpecifiedRange = 11,       ' SimulateFirstFiveRows=12,       ' SimulateOnlyErrorRows=13,       ' SimulateOnlyUnprocessedRows=14,   ' RunUnProcessedAndErrorRows=15,       ' ValidateUnProcessedAndErrorRows=16,       ' SimulateUnProcessedAndErrorRows=17         StudioMacros.RunType = 0    ' Set in case of evolve subitted file   StudioMacros.LibraryName = "Transaction"   ' Set it to Solution Name in case of evolve submitted file   ' For local File,set strShuttleFile to local file path       strShuttleFile = "MM02"       '  Call the Run Function to open specified script       StudioMacros.OpenScript (strShuttleFile)       ' Call the Run Function to run script       StudioMacros.RunScript       Exit Sub   ErrHandler:      MsgBox Err.Description   End Sub 

既知の問題

  1. Transaction または Query v10.x で作成されたマクロは、Studio 20.3 形式に自動的に変換されません。Studio 20.3 形式のマクロは、v10.x と互換性がありません。実行するには、マクロを手動で変換する必要があります。
  2. マクロを使用している間は、Winshuttle アドインをロードしないでください (Evolve/Studio Manager にログ オンしないでください)。Winshuttle アドインを有効にすることができます。
  3. 別の行を指定しない限り、開始行は常に 2 です。
  4. RunSelectedRows と RunFilteredRows は相互に排他的なオプションです。スクリプトは最後に設定されたものを使用します。
  5. データ ファイルは、Evolve/Studio Manager モードでマクロを使用して実行されるデータ レビュー ワークフローを使用してはなりません。
  6. マクロを使用してデータ ファイルを Evolve/Studio Manager モードで実行すると、[Evolve/Studio Manager に保存]は機能しません。