Automation AnywhereからGoogleAppsScript(GAS)を実行してみた

1. はじめに

Automation Anywhere(以降AAと表記)でのBot開発の際に「Excelマクロを実行する」ことはできるのに「GASを実行する」ことができなくて困っている方もいらっしゃるのではないでしょうか。

本コラムでは「Googleシートパッケージの使用方法」と「AAからGASを実行する方法」の2つについてご紹介します。

Automation Anywhereについてもっと基礎的な部分から知りたいという方は、ぜひこちらのコラムもご覧ください。

2. Googleシートパッケージを使用したBotの作成例

本コラムでは最も簡単なGoogleシートパッケージアクションの一例として「A1セルにデータを挿入する」Botの作成方法をご紹介します。

 

2-1. 必要な資格情報の取得

AAからGoogleシートアクションを利用するためにGoogleサーバーへの接続を行うには、以下の事前準備が必要です。

 - Google Cloud Platform(以降GCPと表記)からAPIの有効化

 - クライアントID、クライアントシークレットの取得

参考:https://docs.automationanywhere.com/ja-JP/bundle/enterprise-v2019/page/enterprise-cloud/topics/aae-client/bot-creator/commands/using-connect-action-google-packages.html

 

2-2. アクションの設定

それぞれのアクションについて説明します。

Googleシートの各アクションを利用するには以下の順番でアクションを設定する必要があります。

 

 

「接続」アクションの設定

 - ユーザー名:メールアドレスを設定

 - セッション名:任意

 - クライアントID:2-1章でGCPから取得したものを設定

 - クライアントシークレット:2-1章でGCPから取得したものを設定

本コラムでは「安全でない文字列」を選択して各フィールドの値を直接設定していますが、必要に応じて「資格情報」をご利用ください。

 

「スプレッドシートを開く」アクションの設定

 - ユーザー名:メールアドレスを設定

 - セッション名:任意(接続アクションと同名のもの)

 - シートを開く:「元のURL」から使用するスプレッドシートのURLを設定

 

「セルを設定」アクションの設定

 - セッション名:任意(接続アクションと同名のもの)

 - セルの指定:値を代入するセルの位置を指定

 - セルの値:「RPAから記入」という文言を今回は指定

 

「閉じる」アクションの設定

 - セッション名:任意(接続アクションと同名のもの)

 

「接続解除」アクションの設定

 - ユーザー名:メールアドレスを設定

 - セッション名:任意(接続アクションと同名のもの)

 

Botを実行する

Botを実行すると、指定したセルに「RPAから記入」という文言が入っていることが確認できます。また、この一連の動作は全てバックグラウンドで実行されます。

他のアクションを行う場合は以下を参考にしてください。

参考:https://docs.automationanywhere.com/ja-JP/bundle/enterprise-v2019/page/enterprise-cloud/topics/aae-client/bot-creator/commands/cloud-google-sheets.html

 

3. GASを実行するには

AAからGASを実行する方法はいくつか存在します。その中でも比較的容易に実装可能な2つの方法をご紹介します。

 

3-1. GASトリガーを利用する

スプレッドシートを操作するためのAAに実装されているアクションには限りがあり、複雑な処理をする際にGASを使用する方法がより適している事もあります。

本章では、先ほど2章で紹介した「セルを設定」アクションに加え、GASのトリガーを併用することでGASの実行を行います。

 

まず、GASのトリガーを以下のように設定します。

 - 実行する関数を選択:任意

 - デプロイ時に実行:Head

 - イベントのソースを選択:スプレッドシートから

 - イベントの種類を選択:変更時

 

 

 

この状態でBotを実行すると、A1セルに入力されていることでトリガーが実行され、GASに記載している処理が行われます。

スプレッドシートを確認するとB2セルに「GASから記入」という文言が入力されていることが確認できます。

 

 

 

 

こちらの方法はGASの実行までのアクションが全てバックグラウンドで実行されるため、Botの安定性に優れているというメリットがあります。

CSVデータをスプレッドシートシートに張り付けた後GASを使用してデータテーブル操作を行いたい場合などに向いています。

 

3-2. 「レコーダー:キャプチャ」アクションを利用する

続いて、「レコーダー:キャプチャ」アクションを利用して直接スプレッドシート上のGASを実行するカスタムメニューやスプレッドシート上のボタンを直接押下する事でGASの実行を行う方法を紹介します。

<①カスタムメニューを利用する>

カスタムメニューを追加するために「onOpen」という名称の関数を追加します。

 

※「OnOpen」関数はGASに組み込まれている予約済み関数の1つで、スプレッドシートを開いたときに自動的に実行される関数です。そのため「OnOpen」以外の名称を使用して作成する場合は別途トリガーを設定してください。

 

 

 

「レコーダー:キャプチャ」アクションを以下のように設定します。

 - オブジェクトに実行するアクション:左クリック

 - オブジェクトのプロパティ:「HTML ID」と「Path」を削除

 

 

 

「キーストロークのシミュレーション」アクションを以下のように設定します。

 - キーボード操作:[DOWN-ARROW][ENTER]を設定

 

 

 

<②スプレッドシート上のボタンを利用する>

挿入>図形描画から任意のボタンを作成します。

作成したボタンを右クリックすると、スクリプトの割り当てを行うことが可能です。

 

 

 

「レコーダー:キャプチャ」アクションを以下のように設定します。

 - オブジェクトに実行するアクション:左クリック

 - オブジェクトのプロパティ:「Path」を削除

 

 

 

この状態でBotを実行することで、カスタムメニュー・ボタンのどちらを利用する場合でもGASを実行することが可能です。

 

 

 

「レコーダー:キャプチャ」アクションを利用するメリットとして既存のGASツールをそのまま利用できるという点が挙げられます。手動での実行ボタンが引き続き利用できる点も魅力的です。

また、AAからスプレッドシートをブラウザ上で直接開く必要があるので注意が必要です。

 

 4. おわりに

今回はAAからGoogleAppsScriptを実行する方法を簡単にではありますがいくつかご紹介しました。

無料版も提供されており、簡単に作成・使用できるツールですので初心者の方でも親しみやすいツールであると思います。

Bot開発でGASの利用を考えていた方、作業の効率化を考えていた方の参考になれば幸いです。

(参考)

無料版のCommunity Edition

 

弊社ではAutomation Anywhereを始めとした様々なRPAツールの取り扱いがございます。業務自動化をお考えの際は、ぜひこちらから弊社にご連絡ください。

最後まで読んでいただきありがとうございました!

 

関連記事

最新情報をお届けします!

RPAに関する最新コラムやイベント情報をメールで配信中です。
RPA領域でお仕事されている方に役立つナレッジになりますので、ぜび登録してください!

最新情報を受け取る方はこちら

もっと知りたい方はこちら


ページトップ