【RPA発展】UiPathの使い方(11)~GSuite Activityでスプレッドシートのデータを更新

RPAの発展として、UiPathの実践的な使い方を紹介していきます。今回は、GSuite ActivityのWrite Rangeを使用して、Googleスプレッドシートのデータを更新(書き込み)したいと思います。Web APIの仕組みを活用します。

HTTPリクエストを使用して、スプレッドシートのデータを更新する方法は、こちらの記事をご参考ください。

GSuite.Activitiesパッケージ

【Step.1】UiPathを起動

先ずは、PCにインストールしているUiPathを起動して、空のプロジェクト(Blank)を作成します。

create project

【Step.2】GSuite.Activitiesパッケージのインストール

(※既にインストール済みの場合は省略可)

UiPathでGoogleのスプレッドシートを操作するためには、GSuite.Activitiesパッケージをインストールします。「Manage Packages」のボタンをクリックします。

manage packages

別ウィンドウで開かれた設定画面の左メニューの「Official」をクリックして選択します。次に、検索窓に「gsuite」と入力します。検索結果欄に表示された「UiPath.GSuite.Activities」をクリックして選択します。

install gsuite

右メニューの「install」ボタンをクリックしてパッケージをインストールします。最後に、「Save」ボタンを押して完了です。なお、Saveの際に、ライセンス確認がありますので、一読してから同意しましょう。

スプレッドシートのデータを更新

【Step.3】スプレッドシートの作成

スプレッドシートを新規作成し、下記のような項目を記入しておきます。

create spreadsheet

【Step.4】Web APIの設定

GSuite.Activitiesを使用して、スプレッドシートのデータを更新するためには、事前にスプレッドシートのWeb APIを設定しておく必要があります。APIの設定は、Google Cloud Platform(GCP)から行います。

詳細は割愛しますが、下記の手順でWeb APIの設定を行います。

  1. GCPのアカウント作成
  2. Google Sheets APIの有効化
  3. 「OAuth 2.0認証」「サービスアカウント作成」のどちらか

上記の設定を行い、今回はOAuth 2.0の「クライアントID」と「クライアントシークレット」を取得します。なお、スプレッドシートのデータ取得は「APIキー」でも可能でしたが、データ更新はできません。

また、「クライアントID」と「クライアントシークレット」を公開したり、他人に教えたりしてはいけません。

【Step.5】CSVデータの準備

スプレッドシートに書き込むテーブルデータを準備します。今回は下記のようなCSVデータを読み取って、スプレッドシートに転記します。ファイル名は「data.csv」とし、文字コードは「UTF-8」に設定しておきます。

create csv

【Step.6】CSVデータの読み込み

先ずは、スプレッドシートに転記するCSVデータを読み込みます。画面左側のアクティビティ検索窓に「csv」と入力します。表示された「Read CSV」アクティビティを、ワークフロー内にドラッグ&ドロップします。データは変数dataに保存します。

read csv

【Step.7】GSuite Application Scopeの設定

次に、GSuite Application Scopeの設定を行います。画面左側のアクティビティ検索窓に「gsuite」と入力します。表示された「GSuite Application Scope」アクティビティを、ワークフロー内にドラッグ&ドロップします。

application scope

下表の通り、プロパティを設定します。

項目 備考
ClientID “*****” クライアントIDの値
※Step.4で取得したクライアントIDの値を記入します。
ClientSecret “*****” クライアントシークレットの値
※Step.4で取得したクライアントシークレットの値を記入します。
AuthenticationType OAuthClientID APIの認証タイプ
Services Sheets 扱うGSuiteのサービス

【Step.8】シートの範囲書き込み(Write Range)

次は、Sheetsの「Write Range」アクティビティを、GSuite Application ScopeのDoコンテナ内にドラッグ&ドロップします。

write range

下表の通り、プロパティを設定します。

項目 備考
DataTable data スプレッドシートに書き込むデータテーブル。
※Step.6で読み取ったCSVデータを記入します。
SheetName “データ” 書き込むシートの名前
※Step.3で作成したスプレッドシートのシート名を記入します。
SpreadSheetID “*****” 書き込むスプレッドシートのID
※Step.3で作成したスプレッドシートのID番号を記入します。
StartingCell “A2” 書き込むシートの位置。今回はA2セルを起点にデータテーブルを書き込みます。

【Step.9】ワークフローの実行

それでは、上部パネルの「Run」をクリックし、このワークフローを実行してみましょう。初回の実行時は認証画面が表示されると思います。UiPathの処理がタイムアウトする前に、下記の手順を参考にスプレッドシートの認証を行ってください。

oauth process1

oauth process2

認証が正しく完了すれば、意図した通り、CSVデータをスプレッドシートに転記することができています。

result

まとめ

今回は、GSuite.ActivitiesのWrite Rangeを使用して、Googleスプレッドシートのデータを更新しました。下記の点を理解して、他の業務にも応用できるようにしましょう。

  • GSuite.ActivitiesのWrite Rangeを使ってスプレッドシートのデータを更新できる
  • スプレッドシートのデータ更新するには「OAuth 2.0認証」「サービスアカウント作成」のどちらかが必要
  • スプレッドシートには「データテーブル」を書き込む

最後に、UiPathに関する参考図書を一冊紹介しておきます。
できるUiPath 実践RPA <amazon.co.jp>

※本書の内容はネット上でも公開されているようです(できるネット)。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする