Power Automate DesktopからGoogleスプレッドシートを操作する方法

Googleスプレッドシート

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セルを起点にキーの送信で移動し、値を書き込みます。

複数セルに一気に書き込みたい場合

例えば、以下のようなデータテーブルをスプレッドシートのセルに転記したいとします。

このとき、直接貼り付けようとするとデータが結合して転記されてしまいます。これを回避するために、

  1. データテーブルの内容をExcelに貼り付ける
  2. Excelの内容をコピーする
  3. スプレッドシートに貼り付ける

ちょっと面倒ですが、この3ステップで行います。

フローは以下のようになります。

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

まとめ

今回は、Power Automate Desktop(PAD)からGoogleスプレッドシートを操作する方法について紹介しました。

Excelと異なり、スプレッドシートに関するアクションはPAD内に用意されていませんので、「キーの送信」を駆使して操作を実現する形となります。また、スプレッドシートだけだとうまく操作ができない場合は、本記事で紹介したように一度Excelに展開してから操作することも検討してみてください。

当ブログでは、Power Automate、Power Automate Desktopに関する記事を他にも投稿しています。もし、「このようなことが知りたい」「こんなフローの作り方が知りたい」等ございましたら、問い合わせやコメントからお気軽にご連絡ください。

chaso

文系出身、数字が苦手な平凡主婦。塾講師、大手企業SE、不動産事務、Webライター、QAエンジニアを経て現在RPAエンジニアとして働いています。機械音痴だけど効率化や自動化をこよなく愛しています!お仕事の依頼・ご相談は問い合わせよりお願いいたします♪

chasoをフォローする

コメント

タイトルとURLをコピーしました