UiPath PR

【UiPath】MicrosoftOffice365のファイル関連アクティビティの使用例

記事内に商品プロモーションを含む場合があります

UiPath Studioの開発では、Office365のOneDriveやSharePointOnline上にあるファイルやフォルダを操作したいケースがあります。

この記事では、Microsoft Office365アクティビティを使用して、Office365上にあるファイルやフォルダを操作する方法を説明します。

目次へ進む

 関連記事 【UiPath】Udemyのオンラインコースでワンランク上のロボット作成技術を学ぶ

当ブログ『エフペンITブログ』の運営者

 

Office365アクティビティの使用準備と方法

Office365アクティビティのインストール方法

Microsoft Office365アクティビティは、デフォルトで作成したプロセスには存在しません。

別途、MicrosoftOffice365.Activitiesアクティビティパッケージを追加する必要があります。

Microsoft Office365アクティビティのインストール方法は、Office365アクティビティパッケージのインストールの記事を参考にしてください。

 

Office365アクティビティの使用方法

Office365の各アクティビティは、「Microsoft Office 365 スコープ」か「OneDrive と SharePoint を使用」内にアクティビティ配置して使用します。

「Microsoft Office 365 スコープ」は、連携>Microsoft>Office365 配下のアクティビティがすべて使用出来るのでおすすめです。

ただし、AzureADに対して「アプリの登録」の設定が必要です。

エフペン
エフペン
具体的な設定方法は、Microsoft Office 365 スコープによる認証を参照してください。

 

「OneDrive と SharePoint を使用」は、連携>Microsoft>Office365>ファイル 配下のアクティビティのみの使用となり、Office365上のファイルしか操作できません。

ラッコくん
ラッコくん
具体的な設定方法は、OneDrive と SharePoint による認証を参照してね。

 

Office365のファイル操作のアクティビティ一覧

Office365のファイルを操作するアクティビティは、「連携>Microsoft>Office365>ファイル」配下にあります。

 

「連携>Microsoft>Office365>ファイル」配下のアクティビティは、以下表の通りです。

アクティビティの場所 アクティビティ名 アクティビティで出来ること
連携>Microsoft>
Office365>
ファイル
OneDrive と SharePoint を使用(Use OneDrive & SharePoint) OneDrive や SharePoint オートメーションで使用するアカウントを選択します。このアクティビティの追加後、OneDrive や SharePoint 上のファイルを使用するアクティビティを [OneDrive と SharePointを使用] アクティビティに追加します。
ファイル/フォルダーをコピー(Copy File/Folder) Microsoft Graph の Copy item API を使用して、ファイルまたはフォルダーのコピーを作成し、それを同じ親フォルダーまたは新しい親フォルダー ([コピー先フォルダー]) に追加します。
ファイル/フォルダーを共有(Share File/Folder) Microsoft Graph の Create sharing link および Add permissions API を使用して、ファイルまたはフォルダーの DriveItem を指定した受信者と共有します。
ファイル/フォルダーを削除(Delete File/Folder) Microsoft Graph の Delete item API を使用して、OneDrive または SharePoint サイト内の指定したファイルまたはフォルダー ([DriveItem]) を削除します。
ファイル/フォルダーを取得(Get File/Folder) Microsoft Graph の GetItem API を使用して、既知の ID ([アイテム ID]) で指定したアイテムのメタデータを取得します。
ファイル/フォルダーを移動(Move File/Folder) Microsoft Graph の Move item API を使用して、指定したファイルまたはフォルダーを、新しい親フォルダー ([移動先フォルダー]) に移動します。
ファイルやフォルダーを探す (Find Files And Folders) Microsoft Graph の Search items API と Shared files API を使用して、検索パラメーター ([クエリ]) の値に一致する、ファイル、メタデータ、コンテンツのいずれか (または、すべて) を検索します。
ファイルを PDF としてエクスポート(Export File as PDF) Microsoft Graph の ConvertContent API を使用して、OneDrive または SharePoint ファイルを PDF に変換し、ローカルの場所に保存します。
ファイルをアップロード (Upload File) Microsoft Graph の Resumable upload API を使用して、ローカル ファイルを OneDrive または SharePoint アカウントにアップロードします。
ファイルをダウンロード (Download File) Microsoft Graph の Download file API を使用して、OneDrive または SharePoint サイトで指定したファイルをローカルの場所にダウンロードします。
フォルダーを作成 (Create Folder) Microsoft Graph の CreateFolder API を使用して、指定した親ディレクトリ ([保存先フォルダー]) 内に、新しいフォルダー ([フォルダー名]) を作成します。
繰り返し (ファイル/フォルダー)(For Each File/Folder) Microsoft Graph の Microsoft Search API を使用して、フィルター条件に一致する各ファイル/フォルダーに対して、1 つまたは一連のアクティビティを実行します。

 

エフペン
エフペン
他のアクティビティは、Office365アクティビティ一覧を参照してください。

 

Office365上にあるファイルやフォルダの操作

Office365のOneDriveやSharePointOnline上にあるファイルやフォルダを操作するには、「連携>Microsoft>Office365>ファイル」にあるアクティビティを使用します。

ラッコくん
ラッコくん
この章では、使用頻度が高いアクティビティの使用例を紹介するよ

 

ファイルやフォルダーを探す (Find Files And Folders)

OneDriveやSharePointOnline上にあるファイルやフォルダを操作するためには、まず「ファイルやフォルダーを探す (Find Files And Folders)」アクティビティで検索して「Microsoft.Graph.DriveItem型」として取得します。

次に、取得したDriveItemを他のアクティビティで使用することにより、コピーや削除などができます。

 

ファイルやフォルダーを探す (Find Files And Folders)の設定項目

設定場所 設定項目 設定内容
[プロパティ] パネル内 共通 表示名 アクティビティの表示名です。
入力 クエリ 索先のファイルまたはフォルダーでのフリー テキスト検索に使用する検索語句を定義します。
サブフォルダー (任意) 検索先のサブフォルダーのパスです (例: SomeFolder、SomeFolder/Another/OneMore)。
その他 プライベート オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります
出力 最初 指定したクエリに一致する最初のファイルまたはフォルダーです。
結果 クエリに一致するすべてのファイルとフォルダーを DriveItem の配列として返します。
Sharepoint ドライブ名 指定したファイルまたはフォルダーを検索する OneDrive または SharePoint 内のドライブの名前です。
サイト URL 指定したファイルまたはフォルダーを検索する SharePoint サイトの URL です。

 

 

 

サンプルプロセス1
SharePointOnlineの対象リスト内のフォルダを検索し、取得したDriveItemをログメッセージへ表示する。

・変数

 

・「ファイルやフォルダーを探す」のプロパティ

 

・「繰り返し (コレクションの各要素)」のプロパティ

ラッコくん
ラッコくん
TypeArgumentには、Microsoft.Graph.DriveItemを設定するよ。

 

・「メッセージをログ drListItem」のプロパティ

 

 

・検索対象SPOリストのフォルダ

 

・実行結果ログ

エフペン
エフペン
検索結果が最初だけ必要な場合は、「ファイルやフォルダーを探す」の出力の「最初」に設定したdrFirstItemを使用します。
ラッコくん
ラッコくん
検索結果が複数存在する場合は、「ファイルやフォルダーを探す」の出力の「結果」に設定したdrListItemを使用するよ。

 

 

サンプルプロセス2
OneDriveの対象のフォルダを検索し、取得したDriveItemをログメッセージへ表示する。

・変数

・Microsoft Office 365 スコープのプロパティ

 

・ファイルやフォルダーを探すのプロパティ

エフペン
エフペン
OneDriveのファイルを検索する場合は、SharepointのサイトURL欄は空白にします。

 

・繰り返し (コレクションの各要素)のプロパティ

 

・メッセージをログ drListItemのプロパティ

 

・検索対象のOneDriveのフォルダ

 

・実行結果のログ

 

 

ファイル/フォルダーをコピー (Copy File/Folder)

OneDriveやSharePointOnline上にあるファイルやフォルダをコピーするためには、まず「ファイルやフォルダーを探す (Find Files And Folders)」アクティビティでファイルとコピー先フォルダを検索して「Microsoft.Graph.DriveItem型」として取得します。

次に、取得したDriveItemをファイル/フォルダーをコピー (Copy File/Folder)で使用することにより、ファイルをコピーできます。

 

ファイル/フォルダーをコピー (Copy File/Folder)の設定項目

設定場所 設定項目 設定内容
[プロパティ] パネル内 共通 表示名 アクティビティの表示名です。
入力 コピー先フォルダー このアイテムが DriveItem としてコピーされる先のディレクトリです。
コピーするファイルまたはフォルダー DriveItem としてコピーするファイルまたはフォルダーです。
新しい名前 (任意) このアイテムのコピー後の名前です。
その他 プライベート オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。
出力 DriveItem のコピー DriveItem としての新しいファイルまたはフォルダーです。

 

 

 

サンプルプロセス
SharePointOnlineの対象フォルダのファイルを、別フォルダへコピーする。

・変数

 

・Microsoft Office 365 スコープのプロパティ

 

・ファイルやフォルダーを探す コピー対象ファイルのプロパティ

 

・ファイルやフォルダーを探す コピー先フォルダのプロパティ

 

・ファイル/フォルダーをコピーのプロパティ

 

・コピー対象のファイル

 

・コピー先のフォルダ

 

・ワークフロー実行後のコピー先のフォルダ

 

 

 

ファイル/フォルダーを移動(Move File/Folder)

OneDriveやSharePointOnline上にあるファイルやフォルダを移動するためには、まず「ファイルやフォルダーを探す (Find Files And Folders)」アクティビティでファイルと移動先フォルダを検索して「Microsoft.Graph.DriveItem型」として取得します。

次に、取得したDriveItemをファイル/フォルダーを移動(Move File/Folder)で使用することにより、ファイルを移動できます。

 

ファイル/フォルダーを移動(Move File/Folder)の設定項目

設定場所 設定項目 設定内容
[プロパティ] パネル内 共通 表示名 アクティビティの表示名です。
入力 移動先フォルダー このアイテムが DriveItem として移動される先のディレクトリです。
移動するファイルまたはフォルダー DriveItem として移動するファイルまたはフォルダーです。
新しい名前 (任意) このアイテムの移動後の名前です。
その他 プライベート オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。
出力 参照名 DriveItem としてのファイルまたはフォルダーとその新しい場所です。

 

 

サンプルプロセス
OneDriveの対象ファイルを、別フォルダへ移動し名前を変更する。

・変数

 

・Microsoft Office 365 スコープのプロパティ

 

・ファイルやフォルダーを探す 移動対象ファイルのプロパティ

 

・ファイルやフォルダーを探す 移動先フォルダのプロパティ

 

・ファイル/フォルダーを移動のプロパティ

 

・コピー対象のファイル

 

・コピー先のフォルダ

 

・ワークフロー実行後の移動対象ファイルのフォルダ

ラッコくん
ラッコくん
ワークフロー実行によりファイルを移動させたので、コピー対象のファイルのフォルダにファイルは存在しません。

 

・ワークフロー実行後の移動先フォルダ

エフペン
エフペン
ワークフロー実行によりファイルを移動させたので、コピー先のフォルダにファイルが移動し、ファイル名も変更されています。

 

 

 

ファイル/フォルダーを削除(Delete File/Folder)

OneDriveやSharePointOnline上にあるファイルやフォルダを削除するためには、まず「ファイルやフォルダーを探す (Find Files And Folders)」アクティビティでファイルやフォルダを検索して「Microsoft.Graph.DriveItem型」として取得します。

次に、取得したDriveItemをファイル/フォルダーを削除(Delete File/Folder)で使用することにより、ファイルやフォルダを削除できます。

 

ファイル/フォルダーを削除(Delete File/Folder)の設定項目

設定場所 設定項目 設定内容
[プロパティ] パネル内 共通 表示名 アクティビティの表示名です。
入力 削除するファイルまたはフォルダー 削除するファイルまたはフォルダーの DriveItem です。
その他 プライベート オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。

 

 

サンプルプロセス
SharePointOnline上の対象のファイルを削除する。

・変数

 

・Microsoft Office 365 スコープのプロパティ

 

・ファイルやフォルダーを探す 削除対象ファイルのプロパティ

エフペン
エフペン
入力のサブフォルダーは、”/”で下層のフォルダを指定できます。

 

・ファイル/フォルダーを削除のプロパティ

 

・削除対象のファイルが保存されたフォルダ

 

・ワークフロー実行後の削除対象のファイルが保存されたフォルダ

ラッコくん
ラッコくん
「Book_0701.xlsx」が削除されているよ

 

 

フォルダーを作成 (Create Folder)

OneDriveやSharePointOnline上にフォルダを作成するには「フォルダーを作成 (Create Folder)」アクティビティを使用します。

 

フォルダーを作成 (Create Folder)の設定項目

設定場所 設定項目 設定内容
[プロパティ] パネル内 共通 表示名 アクティビティの表示名です。
入力 フォルダー名 作成されるフォルダーの名前です。
保存先フォルダー このフォルダーが作成されるディレクトリの DriveItem です。
その他 プライベート 選択すると、アクティビティで使用したデータが Studio のログに記録されなくなります。
出力 参照名 DriveItem オブジェクトとして作成されるフォルダーです

 

 

サンプルプロセス
OneDrive直下にフォルダを作成する。

 

・変数

 

・Microsoft Office 365 スコープのプロパティ

 

・フォルダーを作成のプロパティ

 

・ワークフロー実行前のOneDriveの直下

・ワークフロー実行後のOneDriveの直下

ラッコくん
ラッコくん
ワークフロー実行時のOffice365認証ユーザのOneDrive直下に新規にフォルダが作成されているよ。

 

 

 

ファイルをアップロード (Upload File)

OneDriveやSharePointOnline上へファイルをアップロードするためには、まず「ファイルやフォルダーを探す (Find Files And Folders)」アクティビティでアップロード先のフォルダを検索して「Microsoft.Graph.DriveItem型」として取得します。

次に、取得したDriveItemをアップロード (Upload File)で使用することにより、ファイルをアップロードできます。

 

ファイルをアップロード (Upload File)の設定項目

設定場所 設定項目 設定内容
[プロパティ] パネル内 共通 表示名 アクティビティの表示名です。
入力 競合の解決方法 同じ名前のファイルが既に存在する場合の競合の解決方法を指定します。
アップロード先フォルダー ファイルが DriveItem としてアップロードされる親フォルダーです。
アップロードするファイル アップロードするローカル ファイルへのパスです。
メタデータ 結果として出力する DriveItem に関連付けるメタデータです。
新しい名前 (任意) アップロードするファイルの新しい名前です。
その他 プライベート 選択すると、アクティビティで使用したデータが Studio のログに記録されなくなります。
出力 参照名 DriveItem としてアップロードされるファイルです。

 

 

サンプルプロセス
ShraPointの指定フォルダ上にファイルをアップロードする。

・変数

 

・ファイルやフォルダーを探すのプロパティ

 

・ファイルをアップロードのプロパティ

 

・SharePointのアップロード先フォルダ

 

・ワークフロー実行後のSharePointのアップロード先フォルダ

ラッコくん
ラッコくん
ファイルをアップロードで指定したファイルがアップロードされているよ。

 

 

ファイルをダウンロード (Download File)

OneDriveやSharePointOnline上からファイルをダウンロードするためには、まず「ファイルやフォルダーを探す (Find Files And Folders)」アクティビティでダウンロード対象ファイルを検索して「Microsoft.Graph.DriveItem型」として取得します。

次に、取得したDriveItemをファイルをダウンロード (Download File)で使用することにより、ファイルをダウンロードできます。

 

ファイルをダウンロード (Download File)の設定項目

設定場所 設定項目 設定内容
[プロパティ] パネル内 共通 表示名 アクティビティの表示名です。
入力 ダウンロードするファイル ダウンロードするファイルの DriveItem です。
ダウンロード先 ファイルのダウンロード先のローカル パスです。
その他 プライベート 選択すると、アクティビティで使用したデータが Studio のログに記録されなくなります。

 

 

サンプルプロセス
ShraPoint上ある指定ファイルをダウンロードする。

 

・変数

 

・Microsoft Office 365 スコープのプロパティ

 

・ファイルやフォルダーを探すのプロパティ

 

・ファイルをダウンロードのプロパティ

 

・ダウンロード対象のファイル

 

・ダウンロード先のフォルダ

エフペン
エフペン
指定したフォルダにファイルがダウンロードされています。

 

 

まとめ

  • Office365のSharePointやOneDrive上のファイルやフォルダを操作するためには、まずMicrosoftOffice365.Activitiesアクティビティパッケージを追加します。
  • Office365のファイルを操作するワークフローに「Microsoft Office 365 スコープ」もしくは「OneDrive と SharePoint を使用」を配置し、その中に「連携>Microsoft>Office365>ファイル」を配置する。
  • 「メールを取得 (Get Mail)」アクティビティで対象メールを検索して、「Office365Message」の配列型として取得した結果を、他のアクティビティで使用してメールを操作する。

目次へ戻る

 関連記事 【UiPath】Udemyのオンラインコースでワンランク上のロボット作成技術を学ぶ

 


 

ラッコくん
ラッコくん
IT未経験からITエンジニア目指すなら、何から始めれば良い?
エフペン
エフペン
もし、エフペンが未経験からITエンジニア目指すなら、プログラミングスクールのディープロの4ヶ月短期集中コースへ入会します。  

\教育訓練給付金対象講座なら受講料最大45万円給付/

ディープロのオンライン個別説明会&相談会の日程を予約する

*オンライン個別説明会&相談会への参加は無料

ディープロ公式サイトの4ヶ月短期集中コースサイト

 関連記事 現役SEエフペンがもしIT未経験からWebエンジニアを目指すならプログラミングスクール【ディープロ】を受講する

エフペン
エフペン
プログラミングだけでなく、要件、設計、開発、テスト、環境構築とプログラミング以外のスキルも丁寧に学べるので、卒業後1人前とみなされて転職活動できるからです。

 

ABOUT ME
エフペン
システム開発,クラウド構築,サービス企画まで幅広い経験を持つITエンジニア。当ブログでは、UiPathや資格取得のノウハウを発信します。profile詳細 / twitter:@fpen17