Bot 間で Excel セッションを共有する例

ワークシートで従業員の給与を更新するために 2 つの Bot をビルドします。この例では、1 つの Bot が Excel ワークシートを開き、セッション名を変数として 2 番目の Bot に渡します。これにより、ワークシート全体で同じ処理を繰り返し、各従業員の新しい給与を計算し、ワークシート内の値を更新します。

前提条件

次のデータを含むワークシートを作成します。
従業員 ID 開始日 給与
200 1/12/2020 50000
233 3/15/2018 75000
500 6/6/2020 60000
555 7/9/2019 65000

手順

をビルドして従業員のテーブルを反復処理し、昇給を反映するように各給与を更新します

  1. 新しい Bot を開きます。
    1. Automation Anywhere Web インターフェースの左側のペインで、[オートメーション] をクリックします。
      選択可能な Bot とフォームのリストが表示されます。
    2. [Bot を作成] をクリックします。
    3. Bot 名「RaiseSalaries」を入力します。
    4. フォルダーの場所「\Bots\TaskBotExample」を入力します。
      Bot の保管場所を変更するには、[選択] をクリックしてプロンプトに従います。
    5. [作成と編集] をクリックします。
  2. 次の変数を作成します。
    • sessionVariable: セッション型、MS Excel サブタイプ、入力として使用
    • sCellAddress: 文字列型、C2 のデフォルト値
    • sSalary: 文字列型
    • nSalary: 数値型
  3. [ループ] アクション を使用して、ワークシートのすべての行で同じ処理を繰り返します。
    1. [ループ] アクション をダブルクリックまたはドラッグします。
    2. [シートの各行] 反復子を選択します。
    3. [共有されたセッション] タブを選択し、「$sessionVariable$」を挿入します。
    4. [セル値を読み取る] オプションを選択します。
    5. [現在の値を変数に代入] フィールドでレコード変数を作成します。
  4. 従業員の給与を取得します。
    1. ループ コンテナの [Excel の高度な操作] > [1 つのセルを取得] アクション にドラッグします。
    2. [共有されたセッション] タブを選択し、「$sessionVariable$」を挿入します。
    3. [特定のセル] オプションを選択し、「$sCellAddress$」を挿入します。
    4. [セル値を読み取る] オプションを選択します。
    5. [セルのコンテンツの保存先] フィールドで、「$sSalary$」を挿入します。
  5. 給与の値を数値データ型に変換します。
    1. [文字列] > [数値に変換] アクション をループ コンテナにドラッグします。
    2. [文字列を入力] フィールドに、「$sSalary$」を挿入します。
    3. [出力を変数に代入] フィールドで、「$nSalary$」を選択します。
  6. 新しい給与が、現在の給与より 5% 多くなるように計算します。
    1. [数字] > [代入] アクション をループ コンテナにドラッグします
    2. [ソース変数を選択] フィールドに「$nSalary$*1.05」と入力します。
    3. [ターゲット変数を選択] フィールドに「$nSalary$」を挿入します。
  7. ワークシートの給与を更新します。
    1. ループ コンテナの [Excel の高度な操作] > [セルを設定] アクション にドラッグします。
    2. [共有されたセッション] タブを選択し、「$sessionVariable$」を挿入します。
    3. [特定のセル] オプションを選択し、「$sCellAddress$」を挿入します。
    4. [セルの値] フィールドに「$nSalary.Number:toString$」を入力します。
      注: Bot が値をワークシートに入力できるようにするには、値を文字列データ型に変換する必要があります。型キャスティングは、[数字] > [文字列に変換]アクション の代わりに使用します。
      lt;YourStringVariable>.String:toNumber$ を使用すると、文字列変数の値を数値変数に変換して数学演算を実行できます。">型変換
  • カーソルを 1 つ下のセルに移動し、そのセル アドレスを [sCellAddress] に代入します。
    1. ループ コンテナの [Excel の高度な操作] > [セルに移動] アクション にドラッグします。
    2. [共有されたセッション] タブを選択し、「$sessionVariable$」を挿入します。
    3. [アクティブなセル] と [1 つ下のセル] オプションを選択します。
    4. ループ コンテナの [Excel の高度な操作] > [セル アドレスを取得]アクション にドラッグします。
    5. [共有されたセッション] タブを選択し、「$sessionVariable$」を挿入します。
    6. [アクティブなセル] オプションを選択します。
    7. [アクティブなセルのアドレスを保存] フィールドに「$sCellAddress$」を挿入します。
  • [保存]、[閉じる] の順にクリックします。
  • Bot をビルドします。

    1. 新しい Bot を開きます。
      1. [Bot を作成] をクリックします。
      2. Bot 名「ExcelParentBot」を入力します。
      3. フォルダーの場所「\Bots\TaskBotExample」を入力します。
        Bot の保管場所を変更するには、[選択] をクリックしてプロンプトに従います。
      4. [作成と編集] をクリックします。
    2. 次の変数を作成します。
      sessionVariable: セッション タイプ、MS Excel サブタイプ
    3. [Excel の高度な操作] > [開く] アクション の順にダブルクリックまたはドラッグします。
    4. [ファイル] > [デスクトップ ファイル] タブ内で、[参照] をクリックして、ファイルをアップロードします。
    5. [シートにヘッダーを含む] チェックボックスを選択します。
    6. [Excel セッションの作成] フィールドで、[グローバル セッション] タブをクリックし、[値を挿入] アイコンを使用して [sessionVariable] を選択します。
    7. 作成した子 Bot を選択します。
      1. タスク Bot > 実行 アクションをダブルクリックまたはドラッグします。
      2. [Control Room ファイル] タブで、[選択] をクリックして [RaiseSalaries] Bot を選択します。
      3. [入力値] セクションで、[グローバル セッション] オプションを選択し、「$sessionVariable$」を挿入します。
    8. [保存]、[実行] の順にクリックします。
      Excel ワークシートが開き、3 列目の各セルの値が 5% 増加します。