ゆとりSEは副業がしたい

ゆとりSE

RPAやPythonをはじめとした情報系の発信やガジェットの紹介などがメインです

【UiPath】GSuiteアクティビティでスプレッドシートを使う

f:id:oichiki:20210807140325p:plain

GSuiteアクティビティを使う

UiPathではExcelの情報を取得してDataTableに変換してから使用する機会がとても多いです。しかしExcelは基本的にローカルにあるため、それを共有するためにはファイルサーバ上で共有するといったような対応を取る必要があります。

そこでGoogle Spread Sheetを使用することにより、実行端末がどこにあったとしてもインターネットにさえ接続できれば簡単に情報が共有できることが想定されます。

今回はそれを可能にするGSuiteアクティビティについてまとめていきます。

この記事を読むとできること


・UiPathのGsuiteアクティビティからGoogle Spread Sheetの情報を取得する
Google Spread Sheetをデータベースとして利用する

前準備(Google Cloud Platform ※GCP

UiPathの実装に移る前に、下記を実施する必要があります。

GCPの登録
・プロジェクト作成
Google Sheets API の有効化
・サービスアカウントの設定/鍵の発行

これはGCPの設定作業になりますので、適宜検索して実施してください。 私が参考にしたのは下記の記事になります。
blog.pionet.co.jp qiita.com

GSuiteアクティビティ

GSuiteアクティビティはGoogleのアプリケーションをUiPathから簡単に利用することを可能にします。 まずはパッケージをインストールします。

f:id:oichiki:20210616012112p:plain
インストール
インストールが完了すると以下のようなアクティビティを利用可能となります。

f:id:oichiki:20210616012315p:plain
アクティビティ

Excelアプリケーションスコープと同じように、GSuite アプリケーションスコープで処理全体を囲って使用します。 今回はスプレッドシートの内容を読み込んで価格情報を取得し計算する処理を実装します。

また今回はサービスアカウントを使用するため書き込みについても検証します。

サービスアカウントのみを使ってUiPathからスプレッドシートを操作する場合はシート画面を開いて共有のユーザやグループと共有でサービスアカウントのメールアドレスを編集者として追加してください。
f:id:oichiki:20210807133931p:plain
共有

スプレッドシートの内容

スプレッドシートは以下のような情報が記載されています。

f:id:oichiki:20210616013901p:plain
スプレッドシート

ワークフローの内容

ワークフローの処理の流れは以下の通りです。

1.スプレッドシートから価格を取得する
2.ネットスーパーで商品価格を取得する
3.価格を更新する
4.スプレッドシートに書きこむ

ワークフローの実装

今回の実装においてGsuiteアプリケーションスコープのプロパティの入力箇所は以下の通りです。

・キーパス:GCPにて発行した鍵(JSONファイル)のパスを入力します。
・キーの種類:GCPにてJSONを選択したためJSONです
・サービスアカウントのメールアドレス:設定したサービスアカウントのアドレスを入力します
・認証の種類:ServoceAccountKeyを選択します

f:id:oichiki:20210806021640p:plain:h500
Gsuiteアプリケーションスコープ

これで認証関連の設定はOKです。次はスプレッドシートの利用方法です。 スプレッドシート関連のアクティビティはGoogle>GSuite>シートにあります。 今回は読み込みと書き込みを使用するので、範囲を読み込みと範囲に書きこみを使用します。
書き込み範囲/セルの指定以外は同じですので、範囲を読み込みを例に記載します。 設定するプロパティは以下になります。

・シート名:スプレッドシートのシート名を入力します(今回はシート1)
スプレッドシートID:スプレッドシートのドキュメントIDを入力します
 ※参考:https://blog-and-destroy.com/33158
・範囲:読み込みたい範囲を入力します(今回は全体で良いのでブランク)
・出力:結果を格納するDataTable型の変数を入力します

f:id:oichiki:20210806023218p:plain
範囲を読み込み

公式ドキュメントは下記になります。
docs.uipath.com これで読み込みと書き込みの部分は完了です。価格取得/書き込み処理も含めたxamlの全体は下記になります。
f:id:oichiki:20210807134724p:plain
全体

作成したプロジェクトは下記で公開していますので、各値を設定の上ぜひお試しください。 github.com ※設定必要な項目の箇所は入力エラーにしています