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

ワークシートで従業員の給与を更新するために 2 つの bots を作成します。この例では、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 > マイ Bot の順に選択します。
    2. [Bot を作成] をクリックします。
    3. bot の名前「RaiseSalaries」を入力します。
    4. フォルダーの場所を \Bots\TaskBotExample と入力します。
      bot の保管場所を変更するには [選択] をクリックし、プロンプトに従います。
    5. [作成して編集] をクリックします。
  2. 以下の変数を作成します。
    • sessionVariable: セッション タイプ; MS Excel サブタイプ; 入力として使用
    • sCellAddress: 文字列タイプ; C2 のデフォルト値
    • sSalary: 文字列タイプ
    • nSalary: 数値タイプ
  3. [ループ] actionを使用して、ワークシートのすべての行で同じ処理を繰り返します。
    1. [ループ] actionをダブルクリックまたはドラッグします。
    2. [ワークシート内の各行] 反復子を選択します。
    3. [共有セッション] タブを選択し、$sessionVariable$ を挿入します。
    4. [セル値の読み取り] オプションを選択します。
    5. [現在の値をこの変数に割り当てる] フィールドで レコード変数を作成します。
  4. 従業員の給与を取得します。
    1. ループ コンテナの Excel の高度な操作 > 1 つのセルを取得 action にドラッグします。
    2. [共有セッション] タブを選択し、$sessionVariable$ を挿入します。
    3. [特定のセル] オプションを選択し、$sCellAddress$ を挿入します。
    4. [セル値の読み取り] オプションを選択します。
    5. [セルのコンテンツの保存先] フィールドで $sSalary$ を挿入します。
  5. 給与の値を数値データ型に変換します。
    1. 文字列 > 数値に変換 actionを [ループ] コンテナにドラッグします。
    2. [文字列を入力] フィールドに「$sSalary$」を挿入します。
    3. [出力を変数に割り当てる] フィールドに「$nSalary$」を挿入します。
  6. 新しい給与は、現在の給与から 5% 増額になるように計算します。
    1. 数字 > 割り当て actionをループ コンテナにドラッグします
    2. [ソース変数を選択] フィールドに $nSalary$*1.05 と入力します。
    3. [ターゲット変数を選択] フィールドに「$nSalary$」を挿入します。
  7. ワークシートの給与を更新します。
    1. ループ コンテナの Excel の高度な操作 > セルを設定 actionにドラッグします。
    2. [共有セッション] タブを選択し、$sessionVariable$ を挿入します。
    3. [特定のセル] オプションを選択し、$sCellAddress$ を挿入します。
    4. [セル値] フィールドに $nSalary.Number:toString$ と入力します。
      注: bot が値をワークシートに入力できるようにするには、値を文字列データ型に変換する必要があります。型キャスト、数字 > 文字列に変換 actionの代わりに使用します。
      lt;YourStringVariable>.String:toNumber$ を使用すると、文字列変数の値を数値変数に変換して数学演算を実行できます。">型変換
  • カーソルを 1 つのセルだけ下に移動させ、そのセル アドレスを [sCellAddress] に割り当てます。
    1. ループ コンテナの Excel の高度な操作 > セルに移動 actionにドラッグします。
    2. [共有セッション] タブを選択し、$sessionVariable$ を挿入します。
    3. [アクティブなセル] と [1 つ下のセル] オプションを選択します。
    4. ループ コンテナの Excel の高度な操作 > セル アドレスを取得 actionにドラッグします。
    5. [共有セッション] タブを選択し、$sessionVariable$ を挿入します。
    6. [アクティブなセル] オプションを選択します。
    7. [アクティブなセルのアドレスを保存] フィールドに $sCellAddress$ を挿入します。
  • [保存] [閉じる] の順にクリックします。
  • bot を構築します。

    1. 新しい bot を開きます。
      1. [Bot を作成] をクリックします。
      2. bot の名前を ExcelParentBot と入力します。
      3. フォルダーの場所を \Bots\TaskBotExample と入力します。
        bot の保管場所を変更するには [選択] をクリックし、プロンプトに従います。
      4. [作成して編集] をクリックします。
    2. 以下の変数を作成します。
      sessionVariable: セッション タイプ; MS Excel サブタイプ
    3. Excel ワークシートを開きます。
      1. Excel の高度な操作 > 開く actionの順にダブルクリックまたはドラッグします。
      2. [セッション名] フィールドに Session1 と入力します。
      3. [ファイル パス] フィールドに、上記で作成したワークシートへのファイル パスを入力します。
      4. [ヘッダーを含む] オプションを選択します。
    4. セッションを変数に割り当てます。
      1. Excel の高度な操作 > セッション変数を設定 actionの順にダブルクリックまたはドラッグします。
      2. [セッション名] フィールドに Session1 と入力します。
      3. [セッションを変数に保存] フィールドで、$sessionVariable$ を選択します。
    5. 上記で構築した子 bot を選択します。
      1. TaskBot > 実行 action をダブルクリックまたはドラッグします。
      2. [Control Room ファイル] オプションをクリックし、[参照] をクリックして [RaiseSalaries] botを選択します。
      3. [入力値] セクションで、[セッション変数の設定] オプションを選択し、$sessionVariable$ を挿入します。
    6. [保存] [実行] の順にクリックします。
      Excel ワークシートが開き、3 番目の列の各セルの値が 5% 増加します。