Power Automate Desktop(PAD)からGoogleスプレッドシートを操作する方法について紹介します。
Excelのような便利なアクションは用意されていない
PADではExcelに関連する様々なアクションが用意されています。

しかし、Googleスプレッドシートを直接操作できるアクションは用意されていません。
Googleスプレッドシートを操作する方法
Googleスプレッドシートは、Excelとは異なり(※Excel Onlineは別)、Google Chromeなどのブラウザ上で動きます。つまり、ブログや会社ホームページなどのサイトを見るときと同じように、ブラウザ操作系のアクションを使う必要があります。
ブラウザを起動する
まず、ブラウザを起動します。左側のアクション一覧から「ブラウザー自動化」というカテゴリを選び、Firefox・Chrome・Edgeのいずれかの起動アクションを選択します。
※Internet Explorerも一覧にありますがサポート終了しているので使わないでください

ドラッグアンドドロップで、真ん中の白いエリアにアクションを追加します。

すると、以下のようなダイアログが表示されます。

「初期URL」という赤枠部分に、開きたいスプレッドシートのURLを設定します。スプレッドシートのURLの取得方法は以下で解説します。
開きたいスプレッドシートのURLを取得する
Google スプレッドシート を開きます(リンクを押すと別タブで開きます)。
過去に作成したスプレッドシート一覧が表示されますので、PADのフローで操作したいスプレッドシートを開きます。

スプレッドシートを開くと、画面上部のアドレスバーにURL(docs.google.com/~)が表示されます。こちらをコピーしてください。

コピーしたURLを、PADの「初期URL」に貼り付けます。

スプレッドシートが開くか確認してみる
ここまでで、いったんスプレッドシートが開くかどうか確認してみます。PAD画面上部にある再生ボタンをクリックします。

以下のように、新しくブラウザーが起動して対象のスプレッドシートのページが開けばOKです。

スプレッドシートのセルの内容を取得
冒頭で書いた通り、Googleスプレッドシートに関する操作はPADには用意されておらず、ブラウザー操作のひとつとして扱います。そのため、スプレッドシートのセルに関する操作は全てショートカットキーにて行います。
よって、追加するアクションは、「キーの送信」になります。これを多用していきます。

【STEP1】A1セルに移動
セルの内容を取得するために、まずA1セルに移動します。
「キーの送信」アクションを追加し、以下を「送信するテキスト」にそのまま貼り付けてください。
{Control}{Home}

【STEP2】セル範囲の選択
新たに「キーの送信」アクションを追加し、以下を「送信するテキスト」にそのまま貼り付けてください。
{Control}{A}

「Controlキー」+「A」はセル範囲の全選択のショートカットキーです。実行すると、以下のようにセルに値が入っている個所が全選択されます。

【STEP3】セル範囲のコピー
新たに「キーの送信」アクションを追加し、以下を「送信するテキスト」にそのまま貼り付けてください。
{Control}{C}
「Controlキー」+「C」はコピーのショートカットキーです。この操作により、クリップボードに選択したセルの内容が保存されます。
クリップボードというのは、クリップボードとは、コピーしたテキストを一時的に保存するパソコンの機能です。
【STEP4】クリップボードにコピーされたセル内容を取得
STEP3にてコピーされた、セル範囲の内容をPAD側で取得します。
「クリップボード テキストを取得」アクションを追加します。

以下のようなダイアログが表示されますので、中身はそのままで保存を押します。

スプレッドシートのセルがコピーされたか確認してみる
では、スプレッドシートのセルがコピーされたか確認してみます。
フローの実行が完了すると、画面右側にある「フロー変数」の「ClipboardText」に値が入ります。

赤枠部分をダブルクリックすると、変数の内容が確認できます。

スプレッドシートのセルの内容が取得できていることが確認できました。
スプレッドシートの内容をExcelに転記する
スプレッドシートの内容をExcelに転記する方法について解説します。
まずは、「セルの内容を取得」のSTEP1~STEP3を実施してください。(STEP4は不要)
【STEP1】「Excelの起動」アクションを追加
フローの最後に、「Excelの起動」アクションを追加します。追加すると以下のようなダイアログが出ますので、新規のExcelを開くか、既存のExcelを開くか選択します。今回は新規のExcelを開くようにします。

【STEP2】Excelのウインドウを最前面に持ってくる
Excelのウインドウを最前面に持ってきます。(このアクションがないと、うまくペーストされなかったので追加しています)
フローの最後に、「ウインドウにフォーカスする」アクションを追加し、以下のように設定します。
- ウィンドウの検索モード:ウィンドウのインスタンス/ハンドルごと
- ウィンドウ インスタンス:%ExcelInstance%

【STEP3】セル内容の貼り付け
スプレッドシートからコピーしたセル範囲を、Excelに貼り付けます。
セル位置をA1に持ってくる
「キーの送信」アクションを追加し、以下を「送信するテキスト」にそのまま貼り付けてください。
{Control}{Home}

値の貼り付け
「キーの送信」アクションを追加し、以下を「送信するテキスト」にそのまま貼り付けてください。
{Control}{V}

転記できたか確認してみる
完成したフローは以下のようになります。「クリップボード テキストを取得」アクションは今回は使わないので無効化しています(右クリック>アクションを無効化する)。

スプレッドシートからExcelに正しく転記できているか確認してみます。
フローを実行すると、以下のようにExcelにスプレッドシートの内容が転記されていることを確認できました。

スプレッドシートのセルに値を書き込む
スプレッドシートのセルに値を書き込む方法を紹介します。
単一セルに書き込む場合
単一のセルに書き込む場合は、キーの送信を使って以下のように行います。

書き込むセル番地のぶんだけ、A1セルを起点にキーの送信で移動し、値を書き込みます。

複数セルに一気に書き込みたい場合
例えば、以下のようなデータテーブルをスプレッドシートのセルに転記したいとします。

このとき、直接貼り付けようとするとデータが結合して転記されてしまいます。これを回避するために、
- データテーブルの内容をExcelに貼り付ける
- Excelの内容をコピーする
- スプレッドシートに貼り付ける
ちょっと面倒ですが、この3ステップで行います。
フローは以下のようになります。

これを実行すると、データテーブルの内容がそのままスプレッドシートに転記されていることを確認できます。

まとめ
今回は、Power Automate Desktop(PAD)からGoogleスプレッドシートを操作する方法について紹介しました。
Excelと異なり、スプレッドシートに関するアクションはPAD内に用意されていませんので、「キーの送信」を駆使して操作を実現する形となります。また、スプレッドシートだけだとうまく操作ができない場合は、本記事で紹介したように一度Excelに展開してから操作することも検討してみてください。
当ブログでは、Power Automate、Power Automate Desktopに関する記事を他にも投稿しています。もし、「このようなことが知りたい」「こんなフローの作り方が知りたい」等ございましたら、問い合わせやコメントからお気軽にご連絡ください。

コメント