Google シート パッケージから [セルに移動] アクションを使用する例

Google シート内のレコードをループ処理し、レコードに基づいてレポートを作成する Bot をビルドします。

前提条件

  • Google Cloud Platform で OAuth2 アプリケーションを設定します。詳細については、「Google Cloud Platform で OAuth2 を設定する」を参照してください。
  • Control Room で OAuth 接続を構成します。詳細については、「Control Room で OAuth 2.0 接続を構成します」を参照してください。
  • Google ドライブに製品在庫データのサンプルが入ったスプレッドシートがあることを確認してください。サンプル データがない場合は、このスプレッドシートをダウンロードし、そこから Google ドライブ内の Google シートにデータをコピーすることができます。そのファイル ID をメモしておきます。
  • Bot が在庫リストからデータをコピーできる別の Google シートを作成します。ファイル名を「restock」とし、ファイル ID をメモしておきます。

この例では、Bot は Google シートの在庫リストをループ処理し、在庫補充が必要な製品を見つけます。その後、Bot は在庫補充が必要な製品の詳細で別の Google シートを更新します。

手順

  1. 新しい Bot を作成します。
    1. 左側のペインで [オートメーション] をクリックします。
    2. [新規作成] > [タスク Bot] をクリックします。
    3. [タスク Bot を作成] ウィンドウで、Bot の名前を入力します。
    4. 次のデフォルトのフォルダーの場所をそのまま使用します。\Bots\
    5. デフォルトのBotの保存場所を変更するには、[選択] をクリックしてプロンプトに従います。
    6. [作成と編集] をクリックします。
  2. Google シートに接続します。
    1. [アクション] パネルから、[Google シート] > [接続] アクションを見つけて Bot エディターに追加します。
    2. [ユーザー名] で、[安全でない文字列] を選択し、設定済みの OAuth 接続に関連付けられている E メール ID を入力します。
    3. [セッション名] に、「gsheet」と入力します。
    4. [OAuth2 認証モード] で、[Control Room でマネージ] を選択します。
    5. [選択] をクリックし、Control Room で構成した接続を選択します。
    6. 変更を保存します。
  3. 在庫リストを含むスプレッドシートを開きます。
    1. [アクション] パネルから、[Google シート] > [スプレッドシートを開く] アクションを見つけて Bot エディターに追加します。
    2. [ユーザー名] で、[安全でない文字列] を選択し、OAuth 接続に関連付けられている E メール ID を入力します。
    3. [セッション名] に、「gsheet」と入力します。
    4. [シートを開く] で、[スプレッドシート ID から] をクリックし、Google ドライブ内の在庫データを含むスプレッドシートのファイル ID を入力します。
    5. [シートにヘッダーを含む] を選択します。
    6. 変更を保存します。
  4. 在庫データをデータ テーブル変数にコピーします。
    1. [アクション] パネルから、[Google シート] > [複数のセルを取得] アクションを見つけて Bot エディターに追加します。
    2. [セッション名] に、「gsheet」と入力します。
    3. [セル オプション] で、[すべてのセル] をクリックします。
    4. [出力を変数に代入] で、[(x)] をクリックし、InventoryTable というデータ テーブル変数を作成します。
    5. 変更を保存します。
  5. 現在の Google シートを閉じます。
    1. [アクション] パネルから、[Google シート] > [閉じる] アクションを見つけて Bot エディターに追加します。
    2. [セッション名] に、「gsheet」と入力します。
  6. 在庫補充が必要な製品の情報をコピーしたい Google シートを開きます。
    1. [アクション] パネルから、[Google ドライブ] > [スプレッドシートを開く] アクションを見つけて Bot エディターに追加します。
    2. [ユーザー名] で、[安全でない文字列] を選択し、OAuth 接続に関連付けられている E メール ID を入力します。
    3. [セッション名] に、「gsheet」と入力します。
    4. [シートを開く] で、[スプレッドシート ID から] をクリックし、在庫補充するアイテムをコピーするスプレッドシートのファイル ID を入力します。
    5. [特定のシート名] を選択します。
    6. 変更を保存します。
  7. 現在のスプレッドシートの 2 行目を選択します。
    1. [アクション] パネルから、[Google シート] > [セルに移動] アクションを見つけて Bot エディターに追加します。
    2. [セッション名] に、「gsheet」と入力します。
    3. [セル オプション] で、[特定のセル] をクリックし、[セル名] に「A2」と入力します。
    4. [特定のシート名] を選択します。
    5. 変更を保存します。
  8. データテーブル変数のレコードをループ処理します。
    1. [アクション] パネルから、[ループ] > [ループ] アクションを見つけて Bot エディターに追加します。
    2. [反復子] で、[データ テーブル] > [テーブルの各行用] を選択します。
    3. [テーブル変数] で、InventoryTable 変数を選択します。
    4. [この変数に現在の行を代入] で、[(x)] をクリックし、TableRow という名前のレコード変数を作成します。
    5. 変更を保存します。
  9. Bot は、現在の在庫が再注文しきい値より少ない行だけを選択します。在庫の各アイテムについて、現在の在庫値を再注文しきい値と比較するには、2 つの変数が必要です。
    1. [アクション] パネルから、[文字列] > [数値に変換] アクションを見つけて [ループ] アクションと共に追加します。
    2. [文字列を入力] に、「$TableRow[4]$」と入力すると、現在のアイテムの再注文しきい値が得られます。
    3. [出力を変数に代入] で、[(x)] をクリックし、ReorderThreshold という名前の数値変数を作成します。
    4. [アクション] パネルから、[文字列] > [数値に変換] アクションを見つけて [ループ] アクションと共に追加します。
    5. [文字列を入力] に、「$TableRow[3]$」と入力すると、現在のアイテムの現在の在庫値が得られます。
    6. [出力を変数に代入] で、[(x)] をクリックし、currentStock という名前の数値変数を作成します。
    7. 変更を保存します。
  10. 現在のアイテムが再注文しきい値より少ないかどうかをチェックするには、If アクションを使用します。
    1. [アクション] パネルから、[If] > [If] アクションを見つけて [ループ] アクションと共に追加します。
    2. [条件] で、[数字] > > [数字条件] を選択します。
    3. [元の値] に、「$currentStock$」と入力します。
    4. [演算子] で、[より小さい (<)] を選択します。
    5. [ターゲット値] に、「$ReorderThreshold$」と入力します。
    6. 変更を保存します。
  11. アイテム ID を在庫補充シートにコピーします。
    1. [アクション] パネルから、[Google シート] > [セルを設定] アクションを見つけて If アクションに追加します。
    2. [セッション名] に、「gsheet」と入力します。
    3. [セル オプション] で、[アクティブなセル] をクリックします。
    4. [セル値] に、「$TableRow[0]$」と入力します。
    5. 変更を保存します。
  12. カーソルを次の列に移動します。
    1. [アクション] パネルから、[Google シート] > [セルに移動] アクションを見つけて If アクションに追加します。
    2. [セッション名] に、「gsheet」と入力します。
    3. [セル オプション] で、[1 つ右のセル] をクリックします。
    4. 変更を保存します。
  13. 製品名を在庫補充シートにコピーします。
    1. [アクション] パネルから、[Google シート] > [セルを設定] アクションを見つけて If アクションに追加します。
    2. [セッション名] に、「gsheet」と入力します。
    3. [セル オプション] で、[アクティブなセル] をクリックします。
    4. [セル値] に、「$TableRow[1]$」と入力します。
    5. 変更を保存します。
  14. カーソルを次の列に移動します。
    1. [アクション] パネルから、[Google シート] > [セルに移動] アクションを見つけて If アクションに追加します。
    2. [セッション名] に、「gsheet」と入力します。
    3. [セル オプション] で、[1 つ右のセル] をクリックします。
    4. 変更を保存します。
  15. 現在のアイテムの再注文に必要な数量を計算します。
    1. [アクション] パネルから、[数字] > [デクリメント] アクションを見つけ、If アクション内に追加します。
    2. [数字を入力] に、「$ReorderThreshold$」と入力します。
    3. [デクリメント値を入力] に「$currentStock$」と入力します。
    4. [出力を変数に代入] で、[(x)] をクリックし、quantityToStock という名前の数値変数を作成します。
    5. 変更を保存します。
  16. 再注文する数量を [在庫補充する数量] 列に記入します。
    1. [アクション] パネルから、[Google シート] > [セルを設定] アクションを見つけて If アクションに追加します。
    2. [セッション名] に、「gsheet」と入力します。
    3. [セル オプション] で、[アクティブなセル] をクリックします。
    4. [セル値] に、「$quantityToStock.Number:toString$」と入力します。
    5. 変更を保存します。
  17. カーソルを現在の行の先頭に移動します。
    1. [アクション] パネルから、[Google シート] > [セルに移動] アクションを見つけて If アクションに追加します。
    2. [セッション名] に、「gsheet」と入力します。
    3. [セル オプション] で、[行の先頭] をクリックします。
    4. 変更を保存します。
  18. 次の反復の前に次の行を選択します。
    1. [アクション] パネルから、[Google シート] > [セルに移動] アクションを見つけて If アクションに追加します。
    2. [セッション名] に、「gsheet」と入力します。
    3. [セル オプション] で、[1 つ下のセル] をクリックします。
    4. 変更を保存します。
  19. 現在の Google シートを閉じます。
    1. [アクション] パネルから、[Google シート] > [閉じる] アクションを見つけて [ループ] アクションの後に追加します。
    2. [セッション名] に、「gsheet」と入力します。
  20. Google シートから接続解除します。
    1. [アクション] パネルから、[Google シート] > [接続解除] アクションを見つけて [ループ] アクションの後に追加します。
    2. [ユーザー名] で、[安全でない文字列] を選択し、設定済みの OAuth 接続に関連付けられている E メール ID を入力します。
    3. [セッション名] に、「gsheet」と入力します。
  21. Bot を実行します。