日時 パッケージから [文字列に変換] アクションを使用する例

現在の日付と製品の有効期限を比較する Bot をビルドします。

前提条件

有効期限のあるサンプル在庫データが必要です。サンプル データがない場合は、有効期限のあるサンプル在庫データが含まれているこのスプレッドシートをダウンロードしてください。

この例では、Bot がスプレッドシート内の製品リストをループし、各製品の有効期限と現在の日付を比較します。日付が一致すると、Bot はその製品を期限切れとしてマークします。

手順

  1. 新しい Bot を作成します。
    1. 左側のペインで [オートメーション] をクリックします。
    2. [新規作成] > [タスク Bot] をクリックします。
    3. [タスク Bot を作成] ウィンドウで、Bot の名前を入力します。
    4. 次のデフォルトのフォルダーの場所をそのまま使用します。\Bots\
    5. デフォルトのBotの保存場所を変更するには、[選択] をクリックしてプロンプトに従います。
    6. [作成と編集] をクリックします。
  2. サンプル データの日付は yyyy-MM-dd 形式で指定されます。各日付を現在の日付と比較するには、System:Date 変数を使用して現在の日付を取得し、yyyy-MM-dd 形式に変換する必要があります。これを実行するには、[日時] > [文字列に変換] アクションSystem: Date 変数を使用します。
    1. [アクション] パネルから、[日時] > [文字列に変換] アクションを見つけて Bot エディターに追加します。
    2. [ソースの日時変数] で、[変数] をクリックし、「$System:Date$」と入力します。System: Date 変数を使用すると、現在の日付を取得できます。
    3. [日時形式の選択] で、[カスタム フォーマット] をクリックし、「yyyy-MM-dd」と入力します。
    4. [出力を変数に代入] で、[(x)] をクリックし、currentDate という名前の文字列変数を作成します。
    5. 変更を保存します。
  3. サンプル在庫データが含まれているスプレッドシートを開きます。
    1. [アクション] パネルから、[Excel の基本操作] > [開く] アクションを見つけて Bot エディターに追加します。
    2. [ファイル パス] で、[デスクトップ ファイル] をクリックし、サンプル在庫データのあるスプレッドシートを選択します。
    3. [シートにヘッダーを含む] を選択します。
    4. [特定のシート名] を選択し、シート名を入力します。このページからダウンロードしたサンプル スプレッドシートを使用する場合は、シート名に「inventory」を指定してください。
    5. [Excel セッションの作成] で、[ローカル セッション] をクリックし、「Default」と入力します。
    6. 変更を保存します。
  4. 現在のスプレッドシートの 2 行目を選択します。
    1. [アクション] パネルから、[Excel の基本操作] > [セルに移動] アクションを見つけて Bot エディターに追加します。
    2. [セル オプション] で、[特定のセル] をクリックし、[セル名] に「A2」と入力します。
    3. [セッション名] に、「Default」と入力します。
    4. 変更を保存します。
  5. スプレッドシートの行を反復処理して、各製品の有効期限を取得します。
    1. [アクション] パネルから、[ループ] > [ループ] アクションを見つけて Bot エディターに追加します。
    2. [反復子] で、[Excel の基本操作] > [ワークシート内の各行] を選択します。
    3. [ループ範囲] で [すべての行] 変数を選択します。
    4. [セッション名] に、「Default」と入力します。
    5. [この変数に現在の行を代入] で、[レコード] をクリックし、[(x)] をクリックして、ExcelRow という名前のレコード変数を作成します。
    6. 変更を保存します。
  6. 各有効期限を現在の日付と比較します。
    1. [アクション] パネルから、[文字列] > [比較] アクションを見つけて、ループ アクション内に追加します。
    2. [元の文字列] に、「$currentDate$」と入力します。
    3. [文字列と比較] に「$ExcelRow[2]$」と入力します。
    4. [出力を変数に代入] で、[(x)] をクリックし、datesMatched という名前の Boolean 変数を作成します。
    5. 変更を保存します。
  7. 現在の日付が現在の項目の有効期限と一致するかどうかを確認します。
    1. [アクション] パネルから、[If] > [If] アクションを見つけて [ループ] アクションと共に追加します。
    2. [条件] で、[Boolean] > [Boolean 条件] を選択します。
    3. [Boolean 変数] で、[] をクリックします。
    4. [演算子] で [等しい (=)] を選択します。
    5. [] で、[変数] をクリックし、「$datesMatched$」と入力します。
    6. 変更を保存します。
  8. 日付が一致したら、カーソルを現在の行の末尾に移動します。
    1. [アクション] パネルから、[Excel の基本操作] > [セルに移動] アクションを見つけて [If] アクション内に追加します。
    2. [セル オプション] で、[アクティブ セル] をクリックし、[行の末尾] を選択します。
    3. [セッション名] に、「Default」と入力します。
    4. 変更を保存します。
  9. 日付が一致する場合は、その製品を期限切れとしてマークします。
    1. [アクション] パネルから、[Excel の基本操作] > [セルを設定] アクションを見つけて [If] アクション内に追加します。
    2. [使用] で、[アクティブなセル] をクリックします。
    3. [設定する値] に「Yes」と入力します。
    4. [セッション名] に、「Default」と入力します。
    5. 変更を保存します。
  10. 現在の行の最初のセルを選択します。
    1. [アクション] パネルから、[Excel の基本操作] > [セルに移動] アクションを見つけて、[If] アクションの後のループ アクション内に追加します。
    2. [セル オプション] で、[アクティブ セル] をクリックし、[行の先頭] を選択します。
    3. [セッション名] に、「Default」と入力します。
    4. 変更を保存します。
  11. 次の反復の前に次の行を選択します。
    1. [アクション] パネルから、[Excel の基本操作] > [セルに移動] アクションを見つけて [ループ] アクション内に追加します。
    2. [セル オプション] で、[アクティブ セル] をクリックし、[1 つ下のセル] を選択します。
    3. [セッション名] に、「Default」と入力します。
    4. 変更を保存します。
  12. 現在のスプレッドシートを閉じます。
    1. [アクション] パネルから、[Excel の基本操作] > [閉じる]アクション を見つけて、[ループ] アクションの後に追加します。
    2. [ファイルを閉じるときに変更を保存する] を選択します。
    3. [セッション名] に、「Default」と入力します。
    4. 変更を保存します。