通知を受け取る

UiPath StudioX

UiPath StudioX ガイド

チュートリアル: ファイルとフォルダーの操作

このチュートリアルでは、Outlook 検索フォルダーのすべてのメールの添付ファイルをフォルダーに保存し、フォルダーに今日の日付を含む名前を付けて、すべてのファイル名がコピーされているテキスト ファイルを作成する自動化ワークフローを作成します。この自動化ワークフローは、最初にファイルを保存するフォルダーが既に存在するかどうかを確認し、存在する場合は、フォルダーを削除して再作成する必要があるか、または添付ファイルをダウンロードする前にフォルダーの内容を別のフォルダーに移動する必要があるかをユーザーにたずねます。

最初に、添付ファイルのダウンロード先フォルダーが既に存在するかどうかを確認するために、[ファイルの存在を確認] アクティビティを追加します。次に、[条件分岐] アクティビティを追加して、その内部に、フォルダーが存在しない場合にフォルダーを作成する [フォルダーを作成] アクティビティを追加します。フォルダーが存在する場合、どのように処理を進めるかを選択するようにユーザーに要求する [メッセージ ボックス] アクティビティを追加します。次に、[条件分岐] アクティビティを 1 つ、およびユーザーの選択に応じて実行する一連のアクティビティを 2 セット、すなわちフォルダーを削除して再作成するアクティビティと既存のフォルダーを別の場所に移動するアクティビティを追加します。次に、Outlook から添付ファイルを保存するアクティビティを追加し、保存先フォルダー内に 2 つのフォルダー、すなわち保存したファイルに関する情報が記述されたテキスト ファイルを作成するフォルダーとテキスト ファイルにファイル情報を追加した後にファイルを移動するフォルダーを作成します。フォルダーの名前に今日の日付を追加するには、プロジェクト ノートブックに組み込まれている式を使用します。

ステップ 1: Outlook に検索フォルダーを作成します。

  1. Outlook を開き、[フォルダー] ペインで [検索フォルダー] を右クリックし、[新しい検索フォルダー] を選択します。
  2. [新しい検索フォルダー] ウィンドウで、[カスタム検索フォルダーを作成する] > [選択] を選択します。
  3. [検索フォルダーのカスタマイズ] ウィンドウで、[名前] ボックスに「Last week's attachments」と入力し、[条件] を選択します。
  4. [検索フォルダーの条件] ウィンドウの [メッセージ] タブで、[時間の条件] の横にあるドロップダウン メニューから [受信日時][先週] を選択します。
  5. [詳細設定] タブで、[添付ファイル] を選択し、隣接するドロップダウン メニューから 1 つ以上の添付ファイルを選択します。
  6. [OK] を 3 回クリックしてウィンドウを閉じて、検索フォルダーを保存します。

ステップ 2: プロジェクトを設定します。

ステップ 3: 添付ファイルの保存先フォルダーが存在するかどうかを確認します。

  1. [アクティビティ] パネルで、[ファイル] タブを選択し、[フォルダーの存在を確認] をダブルクリックします。[フォルダーの存在を確認] アクティビティがデザイナー パネルに追加されます。
  2. [フォルダーの存在を確認] アクティビティで、次のステップを実行します。
    • [フォルダー パス] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「C:\MailAttachments_」と入力し、テキスト ビルダーの右側にあるプラス記号 plus buttonplus button から、[プロジェクト ノートブック (Notes)] > [Date [シート]] > [YYYYMMDD [セル]] を選択します。テキストは「C:\MailAttachments_[Excel] Date!YYYYMMDD」のようになります。テキスト ビルダーで [保存] をクリックします。
    • [出力] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[後で使用するために保存] を選択します。名前「Folder 'MailAttachments' Exists」を入力して [OK] をクリックします。
      これで、MailAttachments に当日の日付が追加された名前のフォルダーが存在するかどうかを確認し、その確認の出力結果を後で自動化ワークフローで使用するために保存するように指定したことになります。

ステップ 4: フォルダーが存在するときと存在しないときに実行するアクティビティをそれぞれ追加します。

  1. [アクティビティ] パネルで、[共通] タブを選択し、[条件分岐] アクティビティをドラッグして [フォルダーの存在を確認] アクティビティの下にドロップします。[条件分岐] アクティビティがデザイナー パネルに追加されます。
  2. [条件分岐] アクティビティで、次の操作を行います。
    • [Else を表示] をクリックして、Else 分岐を追加します。
    • [条件] フィールドの右側のプラス記号 plus buttonplus button をクリックし、[条件ビルダー] を選択します。
  3. [条件ビルダー] で条件「if the folder exists」を追加して、次のステップを実行します。
    • 左側にあるフィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[保存された値を使用] > [Folder 'MailAttachments' Exists] を選択して、条件で評価する値として [フォルダーの存在を確認] アクティビティの出力を選択します。
    • 中央のドロップダウン メニューから、[true である場合] を選択し、[保存] をクリックします。
      [条件分岐] アクティビティの [Then] 分岐に追加したアクティビティはフォルダーが存在する場合に実行され、[Else] 分岐に追加したアクティビティはフォルダーが存在しない場合に実行されます。
  4. [アクティビティ] パネルで、[ファイル] タブを選択し、[フォルダーを作成] アクティビティをドラッグして [条件分岐] アクティビティの Else 分岐内にドロップします。[フォルダーを作成] アクティビティがデザイナー パネルに追加されます。
  5. [フォルダーを作成] アクティビティで、[フォルダー名] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「C:\MailAttachments_」と入力し、テキスト ビルダーの右側にあるプラス記号 plus buttonplus button から、[プロジェクト ノートブック (Notes)] > [Date [シート]] > [YYYYMMDD [セル]] を選択します。テキストは「C:\MailAttachments_[Excel] Date!YYYYMMDD」のようになります。テキスト ビルダーで [保存] をクリックします。
    これで、フォルダーがまだ存在していない場合は、MailAttachments に当日の日付が追加された名前のフォルダーを作成するように指定したことになります。
  6. [アクティビティ] パネルで、[共通] タブを選択し、[メッセージ ボックス] アクティビティをドラッグして [条件分岐] アクティビティの Then 分岐内にドロップします。[メッセージ ボックス] アクティビティがデザイナー パネルに追加されます。
  7. [メッセージ ボックス] アクティビティの右側にあるプラス記号 plus buttonplus button をクリックし、[テキスト] を選択します。テキスト ビルダーでユーザーに表示するメッセージを入力します。例:
    An older MailAttachments_ folder already exists. Do you want to delete the old one and create a new one? If you choose "No", the old one will be moved to a backup folder and a new one will be created.現在の日付をフォルダー名に追加するには、「MailAttachments_」の後にマウス カーソルを置き、テキスト ビルダーの右側にあるプラス記号 plus buttonplus button から、[プロジェクト ノートブック (Notes)] > [Date [シート])] > [YYYYMMDD [セル]] を選択します。テキスト ビルダーで [保存] をクリックします。
  8. デザイナー パネルに追加した [メッセージ ボックス] アクティビティを選択し、[プロパティ] パネルを開きます。
    • [ボタン] ドロップダウン メニューから [YESNo] を選択します。
    • [選択されたボタン] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[後で使用するために保存] を選択します。そして、たとえば ChosenButton from Message Box FolderAlreadyExists など、値に名前を付けます。
      これで、フォルダーが既に存在する場合に [はい] と [いいえ] の 2 つのボタン オプションがあるメッセージ ボックスを表示して、フォルダーを削除する必要があるかどうかをユーザーに選択させるように指定したことになります。ユーザーの選択内容は、後で自動化ワークフローで使用するために保存されます。

ステップ 5: 同じ名前の既存のフォルダーを削除または移動することをユーザーが選択した場合に実行するアクティビティを追加します。

  1. [アクティビティ] パネルで、[共通] タブを選択し、2 番目の [条件分岐] アクティビティをドラッグして 1 番目の [条件分岐] アクティビティの [Then] 分岐内の [メッセージ ボックス] の下にドロップします。[条件分岐] アクティビティがデザイナー パネルに追加されます。
  2. [条件分岐] アクティビティで、次の操作を行います。
    • [Else を表示] をクリックして、Else 分岐を追加します。
    • [条件] フィールドの右側のプラス記号 plus buttonplus button をクリックし、[条件ビルダー] を選択します。
  3. 条件ビルダーで条件「if the user clicked Yes」を追加します。次の操作を行います。
    • 左側のフィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[保存された値を使用] > [ChosenButton from Message Box FolderAlreadyExists] を選択します。これで、条件で評価する値として、[メッセージ ボックス] アクティビティの自動生成される出力が選択されます。
    • 中央のドロップダウン メニューから、[等しい] を選択します。
    • 右側にあるフィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「Yes」と入力して、[保存] を 2 回クリックします。
      [条件分岐] アクティビティの Then 分岐に追加したアクティビティはユーザーが [はい] をクリックした場合に実行され、Else 分岐に追加したアクティビティはユーザーが [いいえ] をクリックした場合に実行されます。
  4. [アクティビティ] パネルで、[ファイル] タブを選択し、[フォルダーを削除] アクティビティをドラッグして 2 番目の [条件分岐] アクティビティの Then 分岐内にドロップします。[フォルダーを削除] アクティビティがデザイナー パネルに追加されます。
  5. [フォルダーを削除] アクティビティで、[フォルダー名] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「C:\MailAttachments_」と入力し、テキスト ビルダーの右側にあるプラス記号 plus buttonplus button から、[プロジェクト ノートブック (Notes)] > [Date [シート]] > [YYYYMMDD [セル]] を選択します。テキストは「C:\MailAttachments_[Excel] Date!YYYYMMDD」のようになります。テキスト ビルダーで [保存] をクリックします。
    これで、MailAttachments に当日の日付が追加された名前の既存のフォルダーを削除するように指定したことになります。
  6. [アクティビティ] パネルで、[フォルダーを作成] アクティビティをドラッグして 2 番目の [条件分岐] アクティビティの [Then] 分岐内の [フォルダーを削除] の下にドロップします。[フォルダーを作成] アクティビティがデザイナー パネルに追加されます。
  7. [フォルダーを作成] アクティビティで、[フォルダー名] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「C:\MailAttachments_」と入力し、テキスト ビルダーの右側にあるプラス記号 plus buttonplus button から、[プロジェクト ノートブック (Notes)] > [Date [シート]] > [YYYYMMDD [セル]] を選択します。テキストは「C:\MailAttachments_[Excel] Date!YYYYMMDD」のようになります。テキスト ビルダーで [保存] をクリックします。
    これで、MailAttachments に当日の日付が追加された名前の新しいフォルダーを作成するように指定したことになります。
  8. [アクティビティ] パネルで、[フォルダーを作成] アクティビティをドラッグして 2 番目の [条件分岐] アクティビティの Else 分岐内にドロップします。[フォルダーを作成] アクティビティがデザイナー パネルに追加されます。
  9. [フォルダーを作成] アクティビティで、[フォルダー名] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「C:\old_MailAttachments」と入力して [保存] をクリックします。
    これで、old_MailAttachments という名前の新しいフォルダーを作成するように指定したことになります。
  10. [アクティビティ] パネルで、[フォルダーを移動] アクティビティをドラッグして 2 番目の [条件分岐 ] アクティビティの [Else] 分岐内の [フォルダーを作成] アクティビティの下にドロップします。[フォルダーを作成] アクティビティがデザイナー パネルに追加されます。
  11. [フォルダーを移動] アクティビティで、次の操作を行います。
  • [移動元] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「C:\MailAttachments_」と入力し、テキスト ビルダーの右側にあるプラス記号 plus buttonplus button から、[プロジェクト ノートブック (Notes)] > [Date [シート]] > [YYYYMMDD [セル]] を選択します。テキストは「C:\MailAttachments_[Excel] Date!YYYYMMDD」のようになります。テキスト ビルダーで [保存] をクリックします。
  • [コピー先] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「C:\old_MailAttachments」と入力して [保存] をクリックします。
    これで、MailAttachments に当日の日付が追加された名前の既存のフォルダーをフォルダー old_MailAttachments に移動するように指定したことになります。

ステップ 6: Outlook 検索フォルダーから添付ファイルを保存します。

  1. [アクティビティ] パネルで [メール] タブを選択し、[デスクトップ版 Outlook アプリを使用] をドラッグして 1 番目の [条件分岐] アクティビティの下にプロジェクトの最後のアクティビティとしてドロップします。アクティビティがデザイナー パネルに追加されます。
  2. このアクティビティの [アカウント] フィールドには、あらかじめ既定のメール アカウントが入力されています。別のアカウントを使用する場合は、ドロップダウン メニューから選択します。
    [参照名を指定] フィールドは既定値 Outlook のままとして、自動化ワークフローでアカウントを参照するときは、この名前を使用します。
  3. [アクティビティ] パネルで [繰り返し (各メール)] アクティビティをドラッグし、[デスクトップ版 Outlook アプリを使用] アクティビティ内にドロップします。
  4. [繰り返し (各メール)] アクティビティで、[対象フォルダー] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[Outlook] > [フォルダーを検索] > [Last week's attachments] を選択して、アカウント Outlook に作成した検索フォルダーを選択します。選択は [対象フォルダー] フィールドに「Last week's attachments」と表示されます。
    これで、検索フォルダーの [Last week's attachments] のメールを反復処理するように指定したことになります。
  5. [アクティビティ] パネルで、[メールの添付ファイルを保存] アクティビティをドラッグして、[繰り返し (各メール)] アクティビティ内にドロップします。
  6. [メールの添付ファイルを保存] アクティビティで、次の操作を行います。
    • [添付ファイル取得元のメッセージ] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[CurrentMail] を選択して、保存する添付ファイルの取得元のメールは、現在反復処理しているメールであることを指定します。
    • [次のフォルダーに保存] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「C:\MailAttachments_」と入力し、テキスト ビルダーの右側にあるプラス記号 plus buttonplus button から、[プロジェクト ノートブック (Notes)] > [Date [シート]] > [YYYYMMDD [セル]] を選択します。テキストは「C:\MailAttachments_[Excel] Date!YYYYMMDD」のようになります。テキスト ビルダーで [保存] をクリックします。
      これで、MailAttachments に当日の日付が追加された名前のフォルダーに添付ファイルを保存するように指定したことになります。

ステップ 7: ファイルに関する情報を追加するテキスト ファイルを作成し、テキスト ファイルの保存先かつ添付ファイルの移動先のサブフォルダーを作成します。

  1. [アクティビティ] パネルで、[ファイル] タブを選択し、[フォルダーを作成] アクティビティをドラッグして [デスクトップ版 Outlook アプリを使用] の下にプロジェクトの最後のアクティビティとしてドロップします。[フォルダーを作成] アクティビティがデザイナー パネルに追加されます。
  2. [フォルダーを作成] アクティビティで、[フォルダー名] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「C:\MailAttachments_」と入力し、テキスト ビルダーの右側にあるプラス記号 plus buttonplus button から、[プロジェクト ノートブック (Notes)] > [Date [シート]] > [YYYYMMDD [セル]] を選択します。そして、「\Output」と入力します。テキストは「C:\MailAttachments_[Excel] Date!YYYYMMDD\Output」のようになります。テキスト ビルダーで [保存] をクリックします。
    これは、MailAttachments フォルダーに Output という名前のサブフォルダーを作成することを示しています。
  3. [アクティビティ] パネルで、[ファイルを作成] アクティビティをドラッグして、最後の [フォルダーを作成] の下にドロップします。
  4. [ファイルを作成] アクティビティで、[ファイルの場所] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「C:\MailAttachments_」と入力し、テキスト ビルダーの右側にあるプラス plus buttonplus button メニューから、[プロジェクト ノートブック (Notes)] > [Date [シート]] > [YYYYMMDD [セル]] を選択します。そして、「\Output\AttachmentsDetails.txt」と入力します。テキストは「C:\MailAttachments_[Excel] Date!YYYYMMDD\Output\AttachmentsDetails.txt」のようになります。テキスト ビルダーで [保存] をクリックします。
    これで、Output サブフォルダーに AttachmentsDetails.txt という名前のファイルを作成するように指定したことになります。
  5. [アクティビティ] パネルで、[テキストをファイルに書き込み] アクティビティをドラッグして、[ファイルを作成] アクティビティの下にドロップします。[テキストをファイルに書き込み] アクティビティがデザイナー パネルに追加されます。
  6. [テキストをファイルに書き込み] アクティビティで、次のステップを実行します。
    • [テキスト] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「Files received in the last week:」と入力します。テキスト ビルダーで [保存] をクリックします。
    • [書き込む先のファイル名] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「C:\MailAttachments_」と入力し、テキスト ビルダーの右側にあるプラス記号 plus buttonplus button から、[プロジェクト ノートブック (Notes)] > [Date [シート]] > [YYYYMMDD [セル]] を選択します。そして、「\Output\AttachmentsDetails.txt」と入力します。テキストは「C:\MailAttachments_[Excel] Date!YYYYMMDD\Output\AttachmentsDetails.txt」のようになります。テキスト ビルダーで [保存] をクリックします。
      これで、ファイル AttachmentsDetails.txt にテキスト「Files received in the last week:」を書き込むように指定したことになります。
  7. [アクティビティ] パネルで、[フォルダーを作成] アクティビティをドラッグして、[テキストをファイルに書き込み] アクティビティの下にドロップします。[フォルダーを作成] アクティビティがデザイナー パネルに追加されます。
  8. [フォルダーを作成] アクティビティで、[フォルダー名] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「C:\MailAttachments_」と入力し、テキスト ビルダーの右側にあるプラス記号 plus buttonplus button から、[プロジェクト ノートブック (Notes)] > [Date [シート]] > [YYYYMMDD [セル]] を選択します。そして、「\Processed」と入力します。テキストは「C:\MailAttachments_[Excel] Date!YYYYMMDD\Processed」のようになります。テキスト ビルダーで [保存] をクリックします。
    これで、MailAttachments フォルダーに Processed という名前のサブフォルダーを作成するように指定したことになります。

ステップ 8: ファイルを反復処理して、各ファイルに関する情報をテキスト ファイルに追加し、各ファイルを Processed サブフォルダーに移動します。

  1. [アクティビティ] パネルで、[繰り返し (フォルダー内の各ファイル)] アクティビティをドラッグして、最後の [フォルダーを作成] アクティビティの下にドロップします。[繰り返し (フォルダー内の各ファイル)] アクティビティがデザイナー パネルに追加されます。
  2. [繰り返し (フォルダー内の各ファイル)] アクティビティで、[フォルダー] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「C:\MailAttachments_」と入力し、テキスト ビルダーの右側にあるプラス記号 plus buttonplus button から、[プロジェクト ノートブック (Notes)] > [Date [シート]] > [YYYYMMDD [セル]] を選択します。テキストは「C:\MailAttachments_[Excel] Date!YYYYMMDD\Output」のようになります。テキスト ビルダーで [保存] をクリックします。
    これで、MailAttachments フォルダーにあるファイルを反復処理するように指定したことになります。
  3. [アクティビティ] パネルで、[文字列を追加書き込み] アクティビティをドラッグして、[繰り返し (フォルダー内の各ファイル)] アクティビティ内にドロップします。[文字列を追加書き込み] アクティビティがデザイナー パネルに追加されます。
  4. [文字列を追加書き込み] アクティビティで、次のステップを実行します。
    • [テキスト] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「FileName:」と入力します。テキスト ビルダーの右側にあるプラス記号 plus buttonplus button から、[CurrentFile] > [名前] を選択して「 | LastModifiedDate:」と入力します。次に、テキスト ビルダーの右側にあるプラス記号 plus buttonplus button から、[CurrentFile] > [最終更新日] を選択します。テキストは「FileName: [CurrentFile] Name | LastModifiedDate: [CurrentFile] LastModifiedDate」のようになります。テキスト ビルダーで [保存] をクリックします。
    • [書き込む先のファイル名] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「C:\MailAttachments_」と入力し、テキスト ビルダーの右側にあるプラス記号 plus buttonplus button から、[プロジェクト ノートブック (Notes)] > [Date [シート]] > [YYYYMMDD [セル]] を選択します。そして、「\Output\AttachmentsDetails.txt」と入力します。テキストは「C:\MailAttachments_[Excel] Date!YYYYMMDD\Output\AttachmentsDetails.txt」のようになります。テキスト ビルダーで [保存] をクリックします。
      これで、反復処理している現在のファイルのファイル名と最終変更日時をファイル AttachmentsDetails.txt に書き込むように指定したことになります。
  5. [アクティビティ] パネルで、[ファイルを移動] アクティビティをドラッグして、[繰り返し (フォルダー内の各ファイル)] アクティビティ内の [文字列を追加書き込み] の下にドロップします。[ファイルを移動] アクティビティがデザイナー パネルに追加されます。
  6. [ファイルを移動] アクティビティで、次の手順を実行します。
    • [移動元] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[CurrentFile] > [フル パス] を選択します。
    • [移動先] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「C:\MailAttachments_」と入力して、テキスト ビルダーの右側にあるプラス記号 plus buttonplus button から、[プロジェクト ノートブック (Notes)] > [Date [シート]] > [YYYYMMDD [セル]] を選択し、「\Processed」と入力します。テキストは「C:\MailAttachments_[Excel] Date!YYYYMMDD\Processed」のようになります。テキスト ビルダーで [保存] をクリックします。
      これで、反復処理している現在のファイルを Processed サブフォルダーに移動するように指定したことになります。
  1. StudioX のリボンで [保存] をクリックして自動化ワークフローを保存し、[実行] をクリックして自動化ワークフローを実行します。

Outlook 検索フォルダーの添付ファイルが MailAttachments フォルダーに保存され、保存されたファイルに関する情報が書き込まれたテキスト ファイルが Output サブフォルダーに作成され、保存されたファイルが Processed サブフォルダーに移動されます。プロジェクトをもう一度実行すると、1 回目の実行中にフォルダーが作成されているので、ユーザーは既存のフォルダーの処理方法を選択するように要求されます。選択した後、他のアクティビティが実行されます。

サンプルをダウンロード

3 か月前に更新



チュートリアル: ファイルとフォルダーの操作


改善の提案は、API リファレンスのページでは制限されています

改善を提案できるのは Markdown の本文コンテンツのみであり、API 仕様に行うことはできません。