PAD基礎⑧ ショートカットキーでExcelを操作する

業務自動化

今回は、第⑦回でデータを抽出してきた気象データのExcelファイルをショートカットキーの操作などを駆使して、見栄えよく整形するテクニックを学習していきます。

このため、前回(PAD基礎 第⑦回)の続きとしてお話を進めていきます。よって、前回作成したExcelデータやフローがあると便利です。まだの方は第⑦回の資料でフローを作成しておくことをお勧めします。

PAD基礎⑦ webページのデータを抽出する
今回は、Power Automate for desktopでwebページにアクセスしてデータを抽出する…といった内容で話を進めていきます。事例としては、気象庁データのページにアクセスして、そこから自動で気温のデータを抽出していき、Ex…

前回のおさらいと今回の概要

イラストは一部AIで生成

なお、前回のExcelデータが無くても、考え方は同じなのでよく似たExcelデータがあればそれに合わせて進めることも可能です。

準備しておくのは、こちらのいずれかを揃えておきましょう。おすすめなのは前回のフローのフローの続きから行いますので、先に第⑦回のフローを作成しておくこと(パターンA)が良いでしょう。またはパターンBのようなデータ(中身は問わない)をあらかじめ作っておきましょう。その場合は、Excelファイルを起動させるアクションをPAD基礎 第①回を参考にこちらも先頭に用意しておく必要があります。

PAD基礎① Excelファイルを立ち上げる
まずは基礎中の基礎として、Excelファイルを立ち上げることを学びましょう。ファイルを立ち上げるには、主に2つの方法を知っておくと効果的です。ファイル名と場所がわかっている場合ユーザーがファイル名を選択したい場合それでは、各々の場合の組立方…

実際の流れ(考え方)

前回(第⑦回)のフローがあれば、その続きから進めることを前提に、今回(第⑧回)のフローはこのような流れで構成されています。

PADの標準アクションがあるものは優先しますが、Excelには、元々ショートカットキーで制御できる機能が備わっているため、標準アクションにないものは、これをロボットで模擬するようなしくみで表をきれいにします。
今回上記のように様々なシーンでショートカットキーを学びますが、それ以外にもたくさんあるので、いろいろ試してみてくださいね。

現在日のプロット

それでは、フローの続きから作成していきましょう。いつものように、フロー入力の重要項目は赤アンダーライン、変数関連は青アンダーラインで示していきます。

現在の日付データの取得

まず最初に現在の日付情報の取得です。これはPAD基礎 第④回の「現在日の自動入力」でも学習しましたので復習にもなります。

PAD基礎④ 現在日の自動入力
今回は現在日の取得について実際の使い方の入門編としてお話したいと思います。やることは簡単で、1アクションで現在日時が取得できるのですが、その考え方を中心に理解を深めていただければうれしいな、と思っていますので最後までお付き合いくださいね。で…

①アクションの日付を開き、「現在の日時を取得」を第⑦回のフローの最後尾(もしくは新規にExcelを立ち上げるアクションを作った後ろ)にドラッグ&ドロップします。

② 取得は、「現在の日時」を選択しておきます。他には日付のみもあり、今回は日付しか使いませんが時間情報も念のため取っておきます。
③ タイムゾーンは「システムタイムゾーン」とします。これはPCが持っている時間情報を基本的に呼び出します。

④ これによって現在日時のデータが、変数 %CurrentDateTime% として保管されます。

この変数には、使い方でいろいろな変形が可能で、「プロパティ」と呼ばれる固有の属性を取り出すことができます。例えば以下のように特定の部分を取り出せます。 
  ・年であれば、%CurrnetDateTime.Year%
  ・月であれば、%CurrentDateTime.Month%
  ・日であれば、%CurrentDateTime.Day%
  ・時であれば、%CurrentDateTime.Hour%
  ・分であれば、%CurrentDateTime.Minute%
  ・秒であれば、%CurrentDateTime.Second%

現在の日付のプロット

取得した日付データをもとにExcelにプロットしましょう。こちらも復習となります。

①アクションのExcelを開き、「Excelワークシートに書き込む」をドラッグ&ドロップします。

② Excelインスタンスは、このExcelデータしか立ち上げていないので、変数 %ExcelInstance% のみ選択できます。
③ 書き込む値は、日付データ自体が、2026/9/23 00:00:00 といった形式なので、もう少し日付だけを取ってくる形にしたいことからプロパティを使います。
プロパティ自体は、固有の日時を分解したデータを取り出せるため、今回枠内をクリックして、変数の総称{X} を呼び出し、CurrentDateTime左の「>」を押すことで、「.Year」と「.Month」と「.Day」をダブルクリックで取り出し、それぞれ「年」「月」「日」といった文字は手入力で

%CurrentDateTime.Year%年CurrentDateTime.Month%月%CurrentDateTime%日

と入力します。 これで「2026年9月23日」と言った形でプロットできます。

④ プロットする位置は、F列1行目の観測時間のところが空いているので、そこにプロットします。

表全体の整形

表全体の選択

次は、まず表全体選択するためのショートカットキー操作を設定していきます。良く使われるのは「Ctrl+A」ですよね。目的は、列幅の調整と罫線を引くためです。

①アクションのマウスとキーボードを開き、「キーの送信」をドラッグ&ドロップします。

② キーの送信先は、「フォアグラウンドウィンドウ」でも良いのですが、該当するExcelの実体(インスタンス)に対してキー送信を確実に送るためにも「ウィンドウのインスタンスハンドル」にしておきます。
③ そしてウィンドウのインスタンスは、変数 %ExcelInstance% を選びます。
④ 送信するテキストは、表の全選択を行う「Ctrl+A」を送信します。ここでは、「修飾キーの挿入」を押して、「Control」を選ぶと {Control}()が出てきますので、その()かっこの間に 同時押しを示す{A}を手入力します。入力としては、

{Control}({A})  ・・・入力は半角英数字  となります。

Ctrl と A は同時押ししますが、中かっこ{A} は同時押しの意味を持たせるために、中かっこ{ } をつけるルールとなっています。

これは、普通に「A」を入れると、単なるテキストとPAD側が認識してしまい、Controlと同時押しの意味を持たせる制御キーとして認識させるために中かっこ{ }をつけるような作法となっているからです。

このようにして、「キーの送信」アクションにより、ショートカットキーを模擬することで、自動でPC側にキーをセットすることが出来ます。

列幅を自動調整する

次は、表全体に対して列幅を自動調整してプロットした文字が読みやすくするようにショートカットキーで操作します。

①アクションのマウスとキーボードを開き、「キーの送信」をドラッグ&ドロップします。
② キーの送信先は、「フォアグラウンドウィンドウ」でも良いのですが、該当するExcelの実体(インスタンス)に対してキー送信を確実に送るためにも「ウィンドウのインスタンスハンドル」にしておきます。
③ そしてウィンドウのインスタンスは、変数 %ExcelInstance% を選びます。

④ 送信するテキストは、表の全選択を行う「Alt+HOI」を送信します。ここでは、「修飾キーの挿入」を押して、「Alt」を選ぶと {Alt}()が出てきますので、その()かっこの間に HOI を手入力します。今度は同時押しではないので、

{Alt}(HOI)  ・・・入力は半角英数字  となります。

Altキーの場合は、キーを順に押して一連の制御を行います。今回の事例では、列の自動調整まで行いたいので、HOI をAltの()カッコの間に入れるというカラクリになります。

このように、Altキーを組み合わせて使うことは、実質Excelのリボンをコントロールしている事とたいへん似通っており、リボン(=マウスで選択する)が使えるところは概ねキー操作で行うことができるのです。

表に罫線をつける

さらに、もう少しショートカットキーを活用して表を装飾してみましょう。今度は、表全体がまだ選択されているので、罫線を引いてプロットしきたデータが表らしく見せるようにします。

①アクションのマウスとキーボードを開き、「キーの送信」をドラッグ&ドロップします。
② キーの送信先は、「フォアグラウンドウィンドウ」でも良いのですが、該当するExcel実体(インスタンス)に対してキー送信を確実に送るためにも「ウィンドウのインスタンスハンドル」にしておきます。
③ そしてウィンドウのインスタンスは、変数 %ExcelInstance% を選びます。

④ 送信するテキストは、表の罫線(格子)を行う「Alt+HBA」を送信します。ここでは、「修飾キーの挿入」を押して、「Alt」を選ぶと {Alt}()が出てきますので、その()かっこの間に HBAを手入力します。今度は同時押しではないので、

{Alt}(HBA)  ・・・入力は半角英数字  となります。

Altキーの場合は、キーを押して一連の制御を行います。今回の事例では、セルに罫線をつけたいので、HBA をAltの()カッコの間に入れます。

キーを模擬するには、Altキーからの記号をテストして確かめながら、設定していくと良いのでしょう。

一度テストしてみましょう

ここまできたら、Excelがショートカットキーで制御できているか一度テストしてみましょう。
※ 先にも述べていますが、このデータの確からしさの判断はあくまで自己責任にてお願いします。

① 一旦セーブ💾して、実行「▶」してみましょう。

② 全国観測地ランキングのページにまず入ってデータを取り出します(ここまでは前の第⑦回目のフロー実行)。このあとExcelにプロットしたデータに日付が入って、表らしく列幅が調整され、格子枠が入ればOKです。

ただし、A列の順位の中の値が数字は右寄せに文字は左寄せになったりしていますね。少し見栄えをよくするためにもセンタリングしてみましょう。なお、順位として表示する行については、同率などもあるため、必ずしも10個ではない可能性もあります。つまり行の高さは変動する可能性もあるということですね。そのために表のサイズを測るようにして、高さに順応した形でA列の選択を行う必要が出てきそうです。

表のサイズを測る

次は、Excelシートの表のサイズを取得します。ここでは最初の空の列と行の位置データを取ってきて、マイナス1するとサイズがわかります。

①アクションのExcelを開き、「Excelワークシートから最初の空の列や行を取得」をドラッグ&ドロップします。

② Excelインスタンスは、このシートなので 変数 %ExcelInstance% のままです。
③ Excelシートの最初の空の列と空の行の位置データに対して、変数が割り当てられます。

FirstFreeColumn  ・・・最初の空の列
FirstFreeRow  ・・・最初の空の行

これによって、表のサイズが、それぞれマイナス1した

 %FirstFreeColumn-1% が列サイズ
 %FirstFreeRow-1%  が行サイズ 

であることがわかります。

セルのセンタリング

A列(順位データ)の選択

今度はA列のデータのみをセンタリング目的で選択します。なお、時々データはライキングがタイとなるケースもあり行数が10前後することもありますので、先ほどの行サイズを使って必要分を選択します。

①アクションのExcelを開き、「詳細」の中の「Excelワークシート内のセルを選択」をドラッグ&ドロップします。

② Excelインスタンスは、このシートなので 変数 %ExcelInstance% のままです。
③ 選択は、「セルの範囲」とします。
④ 先頭列は固定で 「A」 (または1)
⑤ 先頭行も固定で 「1」 です。
⑥ 最終列は固定で 「A」 (または1)

⑦ 最終行は変動するおそれがあるので、変数 %FirstFreeRow% を {X}ボタンより選んできて、%FirstFreeRow-1% を入力します。

A列(順位データ)のセンタリング

順位の内容を見ると数字と文字列が混在するケースもあり、見栄えが良くないためにセルのセンタリングで中央に揃えます。

①アクションのマウスとキーボードを開き、「キーの送信」をドラッグ&ドロップします。

② キーの送信先は、「フォアグラウンドウィンドウ」でも良いのですが、該当するExcelに対してキー送信を確実に送るためにも「ウィンドウのインスタンスハンドル」にしておきます。
③ そしてウィンドウのインスタンスは、変数 %ExcelInstance% を選びます。

④ 送信するテキストは、セルのセンタリングを行う「Alt+HAC」を送信します。ここでは、「修飾キーの挿入」を押して、「Alt」を選ぶと {Alt}()が出てきますので、その()かっこの間に HAC を手入力します。今度も同時押しではないので、

{Alt}(HAC)  ・・・入力は半角英数字  となります。

Altキーの場合は、キーを押して一連の制御を行います。今回の事例では、セルのセンタリングを行いたいので、HAC をAltの()カッコの間に入れます。

タイトル(列名)に色を付ける

最後に表のタイトル(列名)に色をつけます。

①アクションのExcelを開き、「詳細」の中の「Excelワークシートのセルの色を設定する」をドラッグ&ドロップします。

② Excelインスタンスは、このシートなので 変数 %ExcelInstance% のままです。
③ 色を指定は、「セルの範囲」とします。
④ 先頭列は、「A」 (または 1)
⑤ 先頭行は、「1」 とします。

⑥ 最終列は、列のサイズは判っているものの 変数 %FirstFreeColumn-1% とします。
⑦ 最終行は、「1」 とします。

⑧ 色の名前は、「LightGreen」を選択します(色の形式を16進にすれば16進入力も可能です)。

これでフローは完成です。おつかれさまでした!

動作させてみましょう

それでは、全体を通して実際に正しくExcelショートカットキーが動作できているかテストしてみましょう。

① 一旦セーブ💾して、実行「▶」してみましょう。

② 全国観測地ランキングのページにまず入ってデータを取り出します(ここまでは前の第⑦回目のフロー実行)。このあとExcelにプロットしたデータが順位も整形され、列幅も整い、色もついて表らしくなりましたらOKです。

まとめ

いかがだったでしょうか。今回はExcelのショートカットキーを使って操作する方法を学習しました。
前回webでの自動操作方法からデータを抽出し、今回でそのデータを見栄えよく整形することで2回に分けて行ってきた一連のデータ取得のテクニックが完結しました。

ExcelでのPower Automate for desktop のアクションにないような操作もキー操作のアクションを活用して、いろいろと操作できることがわかっていただけたと思います。たいへん便利な機能なので、いろいろなシーンで応用できそうですね。

ちなみに、今回は、CnrlキーとAltキーの紹介でしたが、他にもReturn(Enter)や上下左右、そしてテンキーなどリボンやメニューで使えそうな「キーの送信」のアイテムはたくさんあります。

さらに「方向キー」などで「下」を5回連続で送信したい場合には、「:5」(コロンと数字いずれも半角英数字)を中かっこ{}の間に入れることで短縮した形で同じキーを設定回数送出することができます。

{Down:5} ・・・と言った形です。

これも何気に知っておくとリボンでのプルダウンなどの操作に便利ですね。この内容は次回実験してみますね。
なお、「Tab」(その他の下の方にあります)も入力窓の連続移動などにも活用できます。

このテクニックを身につけたら、Excelのロボットによる自動操作の幅は格段に向上し、みなさんの定常作業などの自動化がさらに進むのではないでしょうか。ぜひ活用してみてください。

えっ、その前にExcelのショートカットキーなんて全然覚えていないよ! という方は今回を機会にショートカットキーの理解も少し深まると良いのではないでしょうか・・・こちらも次回で少しまとめてみますね。

それでは、今回はこのあたりで終了です。最後までお読みいただきありがとうございました。

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