UiPath

【UiPath】MicrosoftOffice365のExcel関連アクティビティの使用例

UiPath Studioの開発では、Office365のOneDriveやSharePointに保存されたExcelを操作したいケースがあります。

この記事では、Microsoft Office365アクティビティを使用して、OneDriveやSharePointに保存されたExcelファイルを操作する方法を説明します。

 

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

 

 

 

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

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

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

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

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

 

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

Office365のExcel関連のアクティビティは、「Microsoft Office 365 スコープ」内にアクティビティ配置して使用します。

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

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

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

 

 

Office365のExcel操作のアクティビティ一覧

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

 

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

アクティビティの場所 アクティビティ名 アクティビティで出来ること
連携>Microsoft>
Office365>
Excel
VLOOKUP で範囲を検索(VLookup Range) Microsoft Graph の Use workbook functions API を使用し、VLOOKUP 関数を使用して範囲の値を検索します。
シートをコピー (Copy Sheet) Microsoft Graph の API である Get range、Add worksheet、Update range を使用して、指定したブック ([コピー元のブック]) 内の既存のワークシート ([コピーするシート]) をコピーし、それを同じブックまたは別のブック ([貼り付け先ブック]) 内に新しいワークシート ([貼り付け用シート]) として貼り付けます。
シートを取得 (Get Sheets) Microsoft Graph の GetWorksheet API を使用し、指定したブック ([ブック]) からワークシートの配列 ([全シート]) を取得して、返します。
シートを追加 (Add Sheet) [シートを追加] アクティビティは、Microsoft Graph の Add worksheet API を使用して、指定したブック ([ブック]) に新しいワークシート ([シート]) を追加します。
シート名を変更 (Rename Sheet) Microsoft Graph の UpdateWorksheet API を使用して、ワークシートの指定したブック ([ブック]) の名前を、現在の名前 ([元のシート名]) から新しい名前 ([新しいシート名]) に変更します。
セルに書き込み (Write Cell) Microsoft Graph の UpdateRange API を使用して、ブック ([ブック]) のワークシート ([シート名]) 内の指定したセル ([セルのアドレス]) に値 ([セルの値]) を書き込みます。
セルの色を取得 (Get Cell Color) Microsoft Graph の GetRangeFormat API を使用して、ブック ([ブック]) のワークシート ([シート名]) 内の指定したセル ([セルのアドレス]) の色のプロパティを取得します。
セルを読み込み (Read Cell) Microsoft Graph の GetRange API を使用して、ブック ([ブック]) のワークシート ([シート名]) 内の指定したセル ([セルのアドレス]) の値を取得します。
ブックを作成 (Create Workbook) Microsoft Graph の Upload item API を使用して、新しいブック ([名前]) を作成し、指定した場所 ([親]) にアップロードします。
列を読み込み (Read Column) Microsoft Graph の GetRange API を使用して、ブック ([ブック]) のワークシート ([シート名]) 内の指定した列 ([開始セル]) からセルの値を取得します。
範囲に書き込み (Write Range) Microsoft Graph の UpdateRange API を使用して、ブック ([ブック]) のワークシート ([シート名]) 内の特定のセル ([開始セル]) から開始する範囲のセル データ ([データ テーブル]) を書き込みます。
範囲の色を設定 (Set Range Color) Microsoft Graph の Update range format API を使用して、指定した範囲の背景色を設定します。
範囲をクリア (Clear Range) Microsoft Graph の Clear range API を使用して、指定したシートの範囲から、値、書式、塗りつぶし、罫線などをクリアします。
範囲をコピー (Copy Range) Microsoft Graph の Get range、Add worksheet、および Update range API を使用し、範囲をコピーして別の場所に貼り付けます。
範囲を削除 (Delete Range) Microsoft Graph の API である ClearRange ([移動] が [なし] の場合) または DeleteRange ([移動] が [上] または [左] の場合) を使用して、指定されたブック ([ブック]) のワークシート ([シート名]) から特定の範囲のセル データ ([範囲]) を削除します。
範囲を追加 (Append Range) Microsoft Graph の UpdateRange API を使用して、指定したブック ([ブック]) のワークシート ([シート名]) にセル データの範囲 ([データ テーブル]) を書き込みます。
範囲を読み込み (Read Range) Microsoft Graph の GetRange API を使用して、ブック ([ブック]) のワークシート ([シート名]) 内の指定したセル範囲 ([範囲]) から値を取得します。
行を読み込み (Read Row) Microsoft Graph の GetRange API を使用して、ブック ([ブック]) のワークシート ([シート名]) 内の指定した行 ([開始セル]) からセルの値を取得します。
連携>Microsoft>
Office365>
Excel>テーブル
表の範囲を取得 (Get Table Range) Microsoft Graph の Get range API を使用して、指定したテーブルに関連付けられた範囲を取得します。
表を作成 (Create Table) Microsoft Graph の Add table API を使用して、指定された範囲からテーブルを作成します。
列を削除 (Delete Column) Microsoft Graph の Delete table column API を使用して、テーブルから列を削除します。
列を挿入 (Insert Column) Microsoft Graph の Create Column API を使用して、新しい列をテーブルに挿入します。指定した位置に存在していた列は、右方向にシフトします。
行を削除 (Delete Rows) Microsoft Graph の Delete table row API を使用して、指定した行をテーブルから削除します。
行を挿入 (Insert Rows) Microsoft Graph の Create row API を使用して、テーブルの指定した位置に行を挿入します。挿入した行の下にある行は、すべて下方向にシフトします。

 

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

 

 

Office365のExcel操作

Office365のExcelを操作するには、「連携>Microsoft>Office365>Excel」にあるアクティビティを使用します。

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

 

 

ブックを作成 (Create Workbook)

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

次に、取得したDriveItemを「ブックを作成 (Create Workbook)」アクティビティで使用することにより、Excelファイルを作成できます。

 

ブックを作成 (Create Workbook)の設定項目

設定場所 設定項目 設定内容
[プロパティ] パネル内 共通 表示名 アクティビティの表示名です。
入力 競合の解決方法 同じ名前のブックが既に存在する場合の競合の解決方法を指定します。
名前 新しく作成されるブックの名前です。
ブックが作成される親ディレクトリの DriveItem です。
その他 プライベート オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。
出力 ブック 新しく作成されるブックの DriveItem です。
ブックの URL 新しく作成されるブックの URL です。

 

 

 

サンプルプロセス
SharePointOnlineの対象のフォルダを検索し、取得したDriveItemを利用してExcelファイルを作成する。

 

・変数

 

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

 

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

 

・ブックを作成のプロパティ

 

・ワークフロー実行前のSPOの対象フォルダ

 

・ワークフロー実行後のSPOの対象フォルダ

エフペン
エフペン
ワークフロー実行後、エクセルファイルが作成されています。

 

 

セルに書き込み (Write Cell)

OneDriveやSharePointOnline上のExcelファイルに対して、セルの書き込みを行うには、まず「ファイルやフォルダーを探す (Find Files And Folders)」アクティビティで対象のExcelファイルを検索して「Microsoft.Graph.DriveItem型」として取得します。

次に、取得したDriveItemを「セルに書き込み (Write Cell)」アクティビティで使用することにより、セルの書き込みを行います。

 

セルに書き込み (Write Cell)の設定項目

設定場所 設定項目 設定内容
[プロパティ] パネル内 共通 表示名 アクティビティの表示名です。
入力 セルのアドレス データを挿入するセルのアドレスです。
セルの値 指定したセルに書き込まれる値です。
シート名 データの読み込み元シートの名前です。
ブック 変更するドキュメントの DriveItem です。
その他 プライベート オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。

 

 

 

サンプルプロセス
SharePointOnlineの対象のExcelファイルを検索し、取得したDriveItemを利用してセルに書き込みを行う。

 

・変数

 

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

 

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

ラッコくん
ラッコくん
クエリに対象のExcelを一意に指定できる文字列、サブフォルダーに対象のExcelが保存されているフォルダ(もしくはフォルダのパス)を入力しているよ。

 

 

・セルに書き込みのプロパティ

エフペン
エフペン
上記の通りプロパティを設定すると、シート「Sheet1」のB2セルに対して、「B2-write」を書き込みます。

 

・対象のExcelが保存されているSPOのフォルダ

 

・ワークフロー実行前の対象のExcelファイル

 

・ワークフロー実行後の対象のExcelファイル

ラッコくん
ラッコくん
B2セルに指定した文字列が書き込まれているよ。

 

 

 

範囲に書き込み (Write Range)

OneDriveやSharePointOnline上のExcelファイルに対して、範囲に対して書き込みを行うには、まず「ファイルやフォルダーを探す (Find Files And Folders)」アクティビティで対象のExcelファイルを検索して「Microsoft.Graph.DriveItem型」として取得します。

次に、取得したDriveItemを「範囲に書き込み (Write Range)」アクティビティで使用することにより、範囲に書き込みを行います。

 

範囲に書き込み (Write Range)の設定項目

設定場所 設定項目 設定内容
[プロパティ] パネル内 共通 表示名 アクティビティの表示名です。
入力 データ テーブル 挿入する表です。
シート名 データを書き込むシートの名前です。
開始セル 表の左上のセルを書き込むアドレスです。
ブック 変更するドキュメントの DriveItem です。
その他 プライベート オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。
オプション ヘッダーを含む 選択した場合、データ テーブルのヘッダーもブックに挿入されます。

 

 

 

サンプルプロセス
CSVファイルからデータテーブルを読み込み、SharePointOnlineの対象のExcelファイルを検索して取得したDriveItemを利用して、データテーブルの内容を書き込む。

・変数

 

・CSV を読み込みのプロパティ

 

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

 

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

 

・範囲に書き込みのプロパティ

 

・読み込み対象のCSVファイル

 

・対象のExcelが保存されているSharePointのフォルダ

 

・ワークフロー実行前のExcelファイル

 

・ワークフロー実行後のExcelファイル

エフペン
エフペン
指定したC2~D5に対して、CSVファイルで読み込んだデータテーブルの内容が書き込まれています。

 

 

セルを読み込み (Read Cell)

OneDriveやSharePointOnline上のExcelファイルからセルの内容を読み込むには、まず「ファイルやフォルダーを探す (Find Files And Folders)」アクティビティで対象のExcelファイルを検索して「Microsoft.Graph.DriveItem型」として取得します。

次に、取得したDriveItemを「セルを読み込み (Read Cell)」アクティビティで使用することにより、セルの内容を読み込みます。

 

セルを読み込み (Read Cell)の設定項目

設定場所 設定項目 設定内容
[プロパティ] パネル内 共通 表示名 アクティビティの表示名です。
入力 セルのアドレス データを読み込むセルのアドレスです。
シート名 データの読み込み元シートの名前です。
ブック データの読み込み元 DriveItem です。
その他 プライベート オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。
オプション 値の種類 ドキュメントから読み取るデータの種類です。
出力 セルの値 セルの内容です。後続のアクティビティで出力データを使用する予定がある場合は必須です。

 

 

 

サンプルプロセス
SharePointOnlineの対象のExcelファイルを検索し、取得したDriveItemを利用して指定のセルを読み込んでログへ出力する。

 

・変数

 

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

 

・セルを読み込みのプロパティ

 

・対象のExcelが保存されているSharePointのフォルダ

 

・読み込み対象のExcelファイル

 

・ワークフロー実行結果のログ

ラッコくん
ラッコくん
指定したB3セルの値がログへ出力されているよ。

 

 

 

範囲を読み込み (Read Range)

OneDriveやSharePointOnline上のExcelファイルからセルを範囲で読み込むには、まず「ファイルやフォルダーを探す (Find Files And Folders)」アクティビティで対象のExcelファイルを検索して「Microsoft.Graph.DriveItem型」として取得します。

次に、取得したDriveItemを「範囲を読み込み (Read Range)」アクティビティで使用することにより、セルを範囲で読み込みます。

 

範囲を読み込み (Read Range)の設定項目

設定場所 設定項目 設定内容
[プロパティ] パネル内 共通 表示名 アクティビティの表示名です。
入力 範囲 読み込むセルの範囲です。
シート名 データの読み込み元シートの名前です。
ブック データの読み込み元 DriveItem です。
その他 プライベート オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。
オプション ヘッダーを追加 選択した場合、範囲内の最初の行が [データ テーブル] の列ヘッダーとして追加されます。
値の種類 ドキュメントから読み取るデータの種類です。
出力 データテーブル 読み取った結果です。

 

 

 

サンプルプロセス
SharePointOnlineの対象のExcelファイルを検索し、取得したDriveItemを利用して指定の範囲を読み込んでログへ出力する。

 

・変数

 

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

 

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

 

・範囲を読み込みのプロパティ

エフペン
エフペン
入力の範囲に”A1:B4″と設定することでA1~B4のセルの内容出力されます。

 

・データ テーブルを出力のプロパティ

 

・読み込み対象のExcelが保存されているSharePointのフォルダ

 

・読み込み対象のExcelファイル

 

・ワークフロー実行結果のログ

ラッコくん
ラッコくん
ExcelファイルのA1~B4の内容がログへ出力されているよ。

 

 

範囲をクリア (Clear Range)

OneDriveやSharePointOnline上のExcelファイルからセルの値を範囲でクリアするには、まず「ファイルやフォルダーを探す (Find Files And Folders)」アクティビティで対象のExcelファイルを検索して「Microsoft.Graph.DriveItem型」として取得します。

次に、取得したDriveItemを「範囲を読み込み (Read Range)」アクティビティで使用することにより、セルの値を範囲でクリアします。

 

範囲をクリア (Clear Range)の設定項目

設定場所 設定項目 設定内容
[プロパティ] パネル内 共通 表示名 アクティビティの表示名です。
入力 クリア アクション 実行するクリア アクションの種類を指定します。
範囲 クリアする範囲を指定します。
シート名 範囲をクリアするシートの名前です。
ブック Excel ドキュメントの DriveItem です。
その他 プライベート オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。

 

 

 

サンプルプロセス
SharePointOnlineの対象のExcelファイルを検索し、取得したDriveItemを利用して指定の範囲をクリアする。

 

・変数

 

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

 

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

 

・範囲をクリアのプロパティ

 

・対象のExcelファイルが保存されているSharePointのフォルダ

 

・対象のExcelファイル

 

・ワークフロー実行結果のExcelファイル

エフペン
エフペン
A1~C2のセルの値がクリアされています。

 

 

 

範囲を削除 (Delete Range)

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

次に、取得したDriveItemを「範囲を削除 (Delete Range)」アクティビティで使用することにより、セルの値を範囲で削除します。

 

範囲を削除 (Delete Range)の設定項目

設定場所 設定項目 設定内容
[プロパティ] パネル内 共通 表示名 アクティビティの表示名です。
入力 範囲 削除する範囲です。
シート名 データを削除するシートの名前です。
移動 範囲の削除後、周囲のセルを処理する方法を指定します。
ブック 変更するドキュメントの DriveItem です。
その他 プライベート オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。

 

 

 

サンプルプロセス
SharePointOnlineの対象のExcelファイルを検索し、取得したDriveItemを利用して指定の範囲を削除する。

 

・変数

 

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

 

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

 

・範囲を削除のプロパティ

 

・対象のExcelファイルが保存されているSharePointのフォルダ

 

・対象のExcelファイル

 

・ワークフロー実行後のExcelファイル

ラッコくん
ラッコくん
A1~C2のセルが削除されたため、D1~E2の値がA1~B2に移動しているよ。

 

 

 

まとめ

  • Office365のSharePointやOneDrive上にあるExcelを操作するためには、まずMicrosoftOffice365.Activitiesアクティビティパッケージを追加します。
  • Excelファイルを操作するワークフローに「Microsoft Office 365 スコープ」を配置し、その中に「連携>Microsoft>Office365>Excel」アクティビティを配置する。
  • 「ファイルやフォルダーを探す (Find Files And Folders)」アクティビティでファイルやフォルダを検索して「Microsoft.Graph.DriveItem型」として取得した結果を、Excelのアクティビティで使用して操作する。

目次へ戻る

 

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

 同カテゴリ UiPath

 

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