CSV ファイルから Excel ワークシートへのデータ転送例

CSV ファイルからデータを読み込む Bot を構築し、CSV/TXTExcel の高度な操作If/Else、および ループ パッケージアクションを使用して Excel ワークシートのデータを更新します。

前提条件

Bot のビルドを開始する前に、指定したファイル形式で次のデータセットをデスクトップに作成します。

データセット 1: ProductInventory.xlsx
項目番号 名前 カウント カテゴリ 単価 課税対象
A0001 牛乳 15 食料品 3 N
A0002 6 食料品 4 N
A0003 3 園芸 10 Y
A0004 テーブル 1 ホーム 50 Y
A0005 タオル 4 ホーム 10 Y
A0006 ドッグフード 16 ペット 22 N
A0007 塗料 43 ホーム 12 Y
データセット 2: NewProductNames.csv
項目番号 名前
A0005 ハンド タオル
A0002 鶏卵
A0003 ヒマワリ
A0004 コーヒー テーブル
A0006 ドッグフード - 小型犬
A0007 塗料 - ダークブルー
A0001 牛乳 (脂肪分 2%)

この例では、Excel ワークシートの製品在庫を CSV ファイルの新製品の名前で更新する Bot をビルドします。Excel ワークシートには古い製品名が、CSV ファイルには新しい製品名が含まれています。Excel ワークシートと CSV ファイルのデータを項目番号で関連付け、項目番号に対応する新しい項目名で Excel ワークシートを更新します。CSV/TXTExcel の高度な操作If/Else、および ループ パッケージからアクションを使用します。

手順

  1. 新規 Botを作成します。
    1. 左側のペインで [オートメーション] をクリックします。
    2. [+ 作成] > [タスク Bot] をクリックします。
    3. [タスク Bot を作成] ウィンドウで、Bot名を入力します。
    4. 次のデフォルトのフォルダーの場所をそのまま使用します。\Bots\
      デフォルトのBotの保存場所を変更するには、[選択] をクリックしてプロンプトに従います。
    5. [作成と編集] をクリックします。
  2. 作成した NewProductNames.csv ファイルを開きます。
    1. [CSV/TXT] > [開く] アクションをダブルクリックまたはドラッグします。
    2. [セッション名] フィールドに「session 1」と入力します。
    3. NewProductNames.csv のファイル パスを指定します。
    4. [ヘッダーを含む] オプションを選択します。
  3. 作成した ProductInventory.xlsx ファイルを開きます。
    1. [Excel の高度な操作] > [開く] アクション の順にダブルクリックまたはドラッグします。
    2. [セッション名] フィールドに「session 2」と入力します。
    3. ProductInventory.xlsx のファイル パスを指定します。
    4. [読み取り/書き込み] モードでファイルを開きます。
    5. [ヘッダーを含む] オプションを選択します。
  4. [セルに移動] アクション を使用して、製品名を更新する最初のセルを指定します。
    1. [Excel の高度な操作] > [セルに移動] アクション の順にダブルクリックまたはドラッグします。
    2. [セッション名] フィールドに「session 2」と入力します。
    3. [特定のセル] オプションを選択して「B2」と入力します。
  5. [ループ] アクション を使用して、ProductInventory.xlsx から各行のセル値を取得します。
    1. [ループ] アクション をダブルクリックまたはドラッグします。
    2. [Excel の高度な操作] > [ワークシートの各行] 反復子の順に選択します。
    3. [セッション名] フィールドに「session 2」と入力します。
    4. [ループ範囲] フィールドで [すべての行] を選択します。
    5. [現在の値をこの変数に代入します] フィールドで、rInventory 変数を作成します。
  6. [ループ] アクション を使用して、NewProductNames.csv から各行のセル値を取得します。
    1. [ワークシートの各行] コンテナに [ループ] アクション をドラッグします。
    2. [CSV/TXT の各行に対して] 反復子を選択します。
    3. [セッション名] フィールドに「session 1」と入力します。
    4. [現在の値をこの変数に代入します] フィールドで、rNewProduct 変数を作成します。
  7. [If] アクション を使用して、ProductInventory.xlsx の項目番号を NewProductNames.csv の項目番号と比較し、次の アクション に進む前にそれらの番号が同じであることを確認します。
    1. [If] アクション をダブルクリックするか、[CSV/TXT の各行に対して] コンテナにドラッグします。
    2. [文字列] 条件を選択します。
    3. [元の値] フィールドに、「rInventory[0]」と入力します。
    4. [等しい (=)] 演算子を選択します。
    5. [ターゲット値] フィールドに、「rNewProduct[0]」と入力します。
  8. [セルを設定] と [セルに移動] アクション を使用して製品名を更新し、下のセルに移動します。
    1. [Excel の高度な操作] > [セルを設定] アクション の順にダブルクリックまたはドラッグします。
    2. [セッション名] フィールドに「session 2」と入力します。
    3. [アクティブなセル] オプションを選択します。
    4. [セルの値] フィールドに「rNewProduct{Name}」と入力します。
    5. [Excel の高度な操作] > [セルに移動] アクション の順にダブルクリックまたはドラッグします。
    6. [セッション名] フィールドに「session 2」と入力します。
    7. [アクティブなセル] ドロップダウン リストから [1 つ下のセル] を選択します。
  9. [If] アクション の代わりに挿入: 項目番号が同じでない場合、BotNewProductNames.csv の次の行に進みます。
    1. [If] > [Else] アクション をドラッグします。
    2. [ループ] > [続行] アクション をドラッグします。
  10. ファイルを閉じます。
    1. [Excel の高度な操作] > [閉じる] アクション の順にダブルクリックまたはドラッグします。
    2. [セッション名] フィールドに「session 2」と入力します。
    3. [変更を保存] オプションを選択します。
    4. [CSV/TXT] > [閉じる] アクションをダブルクリックまたはドラッグします。
    5. [セッション名] フィールドに「session 1」と入力します。
  11. [保存] をクリックします。
  12. Bot を実行します。
    BotProductInventory.xlsx ファイルを更新すると、次の表のようになります。
    データセット 3: ProductInventory.xlsx
    項目番号 名前 カウント カテゴリ 単価 課税対象
    A0001 牛乳 (脂肪分 2%) 15 食料品 3 N
    A0002 鶏卵 6 食料品 4 N
    A0003 ヒマワリ 3 園芸 10 Y
    A0004 コーヒー テーブル 1 ホーム 50 Y
    A0005 ハンド タオル 4 ホーム 10 Y
    A0006 ドッグフード - 小型犬 16 ペット 22 N
    A0007 塗料 - ダークブルー 43 ホーム 12 Y