![見出し画像](https://assets.st-note.com/production/uploads/images/97944124/rectangle_large_type_2_1e7c9f51e3a84c192a6462365c1c58d7.png?width=1200)
Power Automate for desktopで、Excelファイルの全シートをPDFにしてみたハナシ
プリンタをPDFにして、もくもくと名前を付けて保存するやり方です。
Microsoft LearnでVBScriptが公開されているので、VBScriptを使っても良ければそちらのやり方の方がスムーズです🙏
VBScript を使用して Excel を PDF に変換する
Power Automate for desktopには、「既定のプリンターを設定」という素敵アクションがあるので便利です🤤
【事前準備】
こんなExcelファイルを用意しました。
![](https://assets.st-note.com/img/1676281918093-GN5keW2qfr.png?width=1200)
なんのこっちゃない、数字を並べただけのシート×5。
全シートを、シート名をファイル名にしてPDFで保存するフローを作ります✊✨
① 既定のプリンタをMicrosoft Print to PDFにする
使用するアクションは「既定のプリンターを設定」。
![](https://assets.st-note.com/img/1676282055812-oEM1N9RYWq.png)
プリンター名は「Microsoft Print to PDF」を選択します。
② Excelを起動して、ワークシート情報を取得
PDFにしたいExcelファイルを起動します。
使用するアクションは「Excelの起動」。
![](https://assets.st-note.com/img/1676282152191-Z1ncbevcoc.png?width=1200)
ウィンドウを最大化します。
使用するアクションは「ウィンドウの状態の設定」。
![](https://assets.st-note.com/img/1676282210893-22T7xov0SU.png?width=1200)
ワークシートの数分PDFにする作業の繰り返しをしたいので、ワークシート情報を取得します。
使用するアクションは「すべてのExcelワークシートの取得」。
![](https://assets.st-note.com/img/1676282273385-PmpG3cHV7e.png)
③ ワークシートの数分、PDFにして保存する
アクション「すべてのExcelワークシートの取得」で取得した、変数「SheetNames」分 繰り返しを行います。
使用するアクションは「For each」。
![](https://assets.st-note.com/img/1676282363985-7qYOIUnu8B.png)
繰り返しの中で、変数「CurrentItem」の中にシート名が順番に入ります。
シートのを選択します。
使用するアクションは「アクティブなExcelワークシートの設定」。
![](https://assets.st-note.com/img/1676282451600-JKyWwgbK71.png)
この後キー送信を行うのですが、念のため1秒待機。
使用するアクションは「Wait」。
![](https://assets.st-note.com/img/1676282513027-deqWIglxsa.png)
Excelのウィンドウに対して Ctrl+Pを押して、印刷画面を開きます。
使用するアクションは「キーの送信」。
![](https://assets.st-note.com/img/1676282574122-sObDg6ieju.png)
安定性のために、「キー入力の間隔の遅延」を100ミリ秒にしておく。
印刷画面がちゃんと開いたのを確認。
使用するアクションは「ウィンドウ コンテンツを待機」。
「UI要素の追加」で、印刷ボタンの上でCtrl+左クリックします。
![](https://assets.st-note.com/img/1676282716140-qnlSFOpXYA.png?width=1200)
![](https://assets.st-note.com/img/1676282652928-E6JNtw92xd.png)
表示がされたことを確認できたので、印刷ボタンをクリック。
使用するアクションは「ウィンドウのUI要素をクリック」。
先ほどの印刷ボタンをリストから選択。
![](https://assets.st-note.com/img/1676282812792-1uLC2K1lsP.png)
名前を付けて保存ウィンドウに、フルパスを入力。
使用するアクションは「ウィンドウ内のテキストフィールドに入力する」。
「UI要素の追加」で、ファイル名をCtrl+左クリック。
![](https://assets.st-note.com/img/1676282954680-auv47lFX4M.png?width=1200)
ファイル名にシート名を設定してみた。
![](https://assets.st-note.com/img/1676283000297-Tlf4YJf4mS.png)
保存ボタンをクリックする。
使用するアクションは「ウィンドウのUI要素をクリック」。
保存ボタンの上でCtrl+左クリック。
![](https://assets.st-note.com/img/1676283071496-ePP0Vnaclb.png)
「印刷中」の表示が消えるのを待ちたいので、今回は単純に3秒待機。
使用するアクションは「Wait」。
![](https://assets.st-note.com/img/1676283143987-Tc7YCKi1ly.png)
繰り返しが終わったら、Excelファイルを閉じます。
使用するアクションは「Excelを閉じる」。
![](https://assets.st-note.com/img/1676283375530-sVJwkWqCB0.png)
④ 実行してみる
はいっ、これで完成です✨ 全体のフローはこんな感じ!
あ、必要があれば最後にプリンタの設定を元に戻してくださいね😃
![](https://assets.st-note.com/img/1676283401310-A6AGvyE45R.png?width=1200)
では実行(。・Α・)σポチッ
ファイル名にフルパス入力するところで謎の間があって どきどきしたけど…この通り!!
![](https://assets.st-note.com/img/1676283509111-6mtvdjeBb7.png?width=1200)
無事に全シートがPDFになりました~!👏✨
FILTER関数と合わせて使ってみたら、必要な情報だけのPDFができてよきですね🤭
⑤ 所感
先日、こんなツイートをしまして。
クラウドフローの方のPower Automateでも、ExcelのPDF化ってできるかな🤔
— まる🍑5550 (@wa_maru_gm) February 10, 2023
できるとは思うけど、アクションあるかな…
PC触りたい( 'ω')クッ!
Power Automateの方が安定するのでPower Automateでやりたかったのだけど、そのものすばりのアクションがないみたいで、できなくはないけど工夫が必要そう…?
ならPower Automate for desktopならどうやるんだろ?と思って、試してみました😋
「すべてのExcelワークシートの取得」アクション、しびれましたわ🤤
やっぱりPower Automate for desktopは扱いやすいですね~😍
Windows11から標準搭載されているPower Automate for desktop。
みんながExcelくらい当たり前に使える世の中になったらいいな~🌠
いいなと思ったら応援しよう!
![まる🍑](https://assets.st-note.com/production/uploads/images/62162937/profile_71402032146a6ed886f774e73aeefc50.png?width=600&crop=1:1,smart)