スプレッドシートからデータを読み込む例

1 つの Exce l ワークシートからデータを読み込んで、別のワークシートに書き込む Bot を構築します。

前提条件

Excel の高度な操作 パッケージを使用するには、サンプルの Bot を実行するデバイスに Microsoft Excel がインストールされている必要があります。

注文処理チームが、注文処理プロセスの一環として、スプレッドシートで注文データを受け取ったとします。チームは、スプレッドシートから優先出荷リストを作成し、ピッキング部門と共有するプロセスを自動化しています。このチュートリアルのサンプル Bot は以下のタスクを実行します。

  • Excel の高度な操作 パッケージを使用して、注文のリストを含むスプレッドシートデータを読み込みます。
  • 優先的に出荷する必要のある注文のリストを含む新しいスプレッドシートを作成します。

このチュートリアルでは、こちらからサンプルの Excel ファイルをダウンロードして使用することができます。

手順

  1. 新しい Bot を作成します。
    1. 左側のペインで [オートメーション] をクリックします。
    2. [新規作成] > [タスク Bot] をクリックします。
    3. [TaskBot を作成] ウィンドウで、[名前] に「Priority List」と入力します。
    4. [作成と編集] をクリックします。
  2. 注文リストを含むスプレッドシートからデータを読み込むために、Exce l シートを開きます。
    1. [アクション] パネルから、[Excel の高度な操作] > [開く] アクションを見つけて Bot エディターに追加します。
    2. [ファイル] をクリックし、ダウンロードしたサンプル Excel ファイルを選択します。
    3. [シートにヘッダーを含む] を選択します。
    4. [シート名を指定] を選択し、「order_list」と入力します。
    5. [Excel セッションの作成] で、[ローカル セッション] をクリックし、セッション名として「orderlist」と入力します。
  3. 優先順位のリストのために、新しいスプレッドシートを作成します。
    1. [アクション] パネルから、[Excel の高度な操作] > [ブックを作成] アクションを見つけて Bot エディターに追加します。
    2. [ファイル パス] で、新しいファイルのファイル パスを指定します。たとえば、C:\\bots\priority-orders.xlsx のように指定します。
    3. [シート名] に、「priority orders」と入力します。
    4. [Excel セッションの作成] で、[ローカル セッション] を選択し、セッション名として「prioritylist」と入力します。
    5. 変更を保存します。
  4. コピー元のスプレッドシートから新しいスプレッドシートにヘッダーをコピーします。
    1. [アクション] パネルから、[Excel の高度な操作] > [複数のセルを取得] アクションを見つけて Bot エディターに追加します。
    2. [対象とするセルの範囲を選択] で、[特定の行] を選択し、[開始行] と [修了行] の両方のフィールドに「1」と入力します。
    3. [セッション名] に、「orderlist」と入力します。
    4. コピーした値を変数に格納するために、[値を変数に代入] で HeaderData という名前の変数を作って代入します。値はデータテーブル変数に格納されます。
    5. 変更を保存します。
  5. コピーしたヘッダーを新しいシートに書き込みます。
    1. [Excel の高度な操作] > [データ テーブルから書き込み] アクションを見つけて Bot エディターに追加します。
    2. [データテーブル変数を入力] で、[HeaderData] を選択します。
    3. [特定のワークシート] をクリックし、「priority orders」と入力します。
    4. [最初のセルを指定] に「A1」と入力します。
    5. [セッション名] に、「prioritylist」と入力します。
    6. 変更を保存します。
  6. 新しいスプレッドシートにデータを書き込む前に、新しいワークシートで A2 セルが選択されていることを確認します。そのために次の操作を実行します。
    1. [アクション] パネルから、[Excel の高度な操作] > [セルに移動] アクションを見つけて Bot エディターに追加します。
    2. [特定のセル] に「A2」と入力します。
    3. [セッション名] に、「prioritylist」と入力します。
    4. 変更を保存します。
  7. ソース スプレッドシートでの順序のリストをループします。
    1. [アクション] パネルから、[ループ] アクションを見つけて Bot エディターに追加します。
    2. [反復子] から、Excel の高度な操作 の [ワークシート内の各行] を選択します。
    3. [ループ範囲] で [すべての行] を選択します。
    4. [セッション名] に、「orderlist」と入力します。
    5. [現在の値をこの変数に割り当てる] で、[レコード] を選択し、order-record という名前の変数を作成します。
    6. 変更を保存します。
  8. ShippingType が Priority に等しいレコードを選択します。
    1. a. [アクション] パネルから、[ループ] アクション内の [If] アクションを見つけて追加します。
    2. [条件] で、文字列の条件を選択します。
    3. [元の値] に「$order_record[4]$」と入力し、現在のレコードの 5 番目の列を選択します。
    4. [演算子] で [等しい (=)] を選択します。
    5. [ターゲット値] に、「Priority」と入力します。
    6. 変更を保存します。
  9. 一致するレコードが見つかった場合は、そのレコードを新しいスプレッドシートに書き込みます。これを実現するには、ソース データの列数と同じ数だけ [セルを設定] アクションを使用します。しかし、この例では [ループ] アクションを使って同じ結果を達成しています。
    1. [アクション] パネルから、[If] アクション内の [ループ] アクションを見つけて追加します。
    2. [反復子] から [レコード内の各値] を選択します。
    3. [レコード変数] で、[order-record] を選択します。
    4. [現在の値をこの変数に割り当てる] で、RecordValue という名前の変数を作成して選択します。
    5. 変更を保存します。
    6. [変数] パネルで、以下の内容で変数を作成します。
      • [名前] に、「RecordValueCounter」と入力します。
      • [タイプ] で Number を選択します。
      • [デフォルト値] に、「0」と入力します。
    7. [アクション] パネルから、[Excel の高度な操作] > [セルを設定] アクションを見つけて追加します。
    8. [アクティブなセル] が選択されていることを確認します。
    9. [セル値] に、「$order-record[$recordValueCounter$]$」と入力します。
    10. [セッション名] に、「prioritylist」と入力します。
    11. カーソルを行の次のセルに移動するには、[Excel の高度な操作] > [セルに移動] アクションを見つけて追加し、[アクティブなセル] で [1 つ右のセル] を選択します。
    12. [セッション名] に、「prioritylist」と入力します。
    13. recordValueCounter 変数をインクリメントするには、[数字』 > [インクリメント] アクションを見つけて追加します。[数字を入力] フィールドと [出力値を変数に代入] フィールドの両方で、recordValueCounter を選択します。[インクリメント値を入力] に「1」と入力します。
    14. 変更を保存します。
  10. recordValueCounter 変数をゼロにリセットします。
    1. [数字] > [デクリメント] アクションを見つけて内部ループの後の [If] アクション内に追加します。
    2. [数字を入力] フィールドと [出力値を変数に代入] フィールドの両方で、recordValueCounter を選択します。
    3. [インクリメント値を入力] に「7」と入力します。
    4. 変更を保存します。
  11. 次の反復の前に次の行にカーソルを移動します。
    1. [Excel の高度な操作] > [セルに移動] アクションを見つけて、最初のループアクション内 ([デクリメント] アクションの後) に追加します。
    2. [アクティブなセル] をクリックし、[行の先頭] を選択します。
    3. [セッション名] に、「prioritylist」と入力します。
    4. [Excel の高度な操作] > [セルに移動] アクションを見つけて追加します。
    5. [アクティブなセル] をクリックし、[1 つ下のセル] を選択します。
    6. [セッション名] に、「prioritylist」と入力します。
    7. 変更を保存します。
  12. Bot を実行します。