イラストACにてイラストも公開中。まずはここのブログでチェック!!欲しいイラストがあれば無料でダウンロード出来ますのでDownloadへGo!

Power Automateでdocxとxlsxとpptx内の画像を抜き出すやり方!

Power Automateでdocxとxlsxとpptx内の画像を抜き出すやり方!

みなさんPower Automateってソフトウェア知っていますか?

下記参照w

https://powerautomate.microsoft.com/ja-jp/


業務プロセスを効率化(俗に言うRPA(Robotic Process Automation))ですが、このソフトを使用することで、簡単に効率化が出来ちゃうんですよ。久々にソフトを使ってみて楽しかったので、ついブログに書いちゃいました。


今回はそのPower Automateで作ったフローを公開しちゃいますので、ワード、エクセル、パワーポイントの画像の抜き出しに時間がかかってるみなさん。これを機に是非活用してくださいね。


それではコードをここに貼り付けておきます。

ここから↓

Display.SelectFileDialog.SelectFile Title: $”’docxかxlsxを選択”’ InitialDirectory: $”’C:\\”’ IsTopMost: True CheckIfFileExists: True SelectedFile=> SelectedFile ButtonPressed=> ButtonPressed
LABEL 開始
IF ButtonPressed <> $”’Cancel”’ THEN
File.GetPathPart File: SelectedFile RootPath=> RootPath Directory=> Directory FileName=> FileName FileNameWithoutExtension=> FileNameNoExtension Extension=> FileExtension
Folder.Create FolderPath: Directory FolderName: $”’作業中”’ Folder=> NewFolder
ON ERROR

END
File.Copy Files: SelectedFile Destination: NewFolder IfFileExists: File.IfExists.DoNothing CopiedFiles=> CopiedFiles
File.RenameFiles.RenameChangeExtension Files: CopiedFiles NewExtension: $”’zip”’ IfFileExists: File.IfExists.Overwrite RenamedFiles=> RenamedFiles
Compression.UnzipFiles ArchivePath: SelectedFile DestinationFolder: NewFolder
ON ERROR

END
WAIT 1
File.Delete Files: RenamedFiles
ON ERROR

END
Folder.Delete Folder: $”’%NewFolder%\\_rels”’
ON ERROR

END
Folder.Delete Folder: $”’%NewFolder%\\docProps”’
ON ERROR

END
File.Delete Files: $”’%NewFolder%\\[Content_Types].xml”’
ON ERROR

END
Folder.Delete Folder: $”’%NewFolder%\\docMetadata”’
ON ERROR

END
Folder.Delete Folder: $”’%NewFolder%\\customXml”’
ON ERROR

END
WAIT 1
Folder.Move Folder: $”’%NewFolder%\\word\\media”’ Destination: Directory MovedFolder=> MovedFolder
ON ERROR

END
Folder.Move Folder: $”’%NewFolder%\\xl\\media”’ Destination: Directory MovedFolder=> MovedFolder
ON ERROR

END
Folder.Move Folder: $”’%NewFolder%/ppt/media”’ Destination: Directory MovedFolder=> MovedFolder
ON ERROR

END
Folder.Delete Folder: $”’%NewFolder%\\word”’
ON ERROR

END
Folder.Delete Folder: $”’%NewFolder%\\xl”’
ON ERROR

END
Folder.Delete Folder: $”’%NewFolder%/ppt”’
ON ERROR

END
Folder.Delete Folder: NewFolder
ON ERROR

END
Folder.Rename Folder: MovedFolder NewName: $”’%FileNameNoExtension%media”’
ON ERROR

END
Folder.Delete Folder: $”’%Directory%\\media”’
ON ERROR

END
Display.ShowMessageDialog.ShowMessageWithTimeout Title: $”’書出が完了しました。”’ Message: $”’続いて処理を実行するには【はい】を,終了の場合は【いいえ】を選択して下さい。”’ Icon: Display.Icon.Information Buttons: Display.Buttons.YesNo DefaultButton: Display.DefaultButton.Button2 IsTopMost: True Timeout: 15 ButtonPressed=> ButtonPressed
END
IF ButtonPressed = $”’Yes”’ THEN
Display.SelectFileDialog.SelectFile Title: $”’再実行。docxかxlsxを選択”’ InitialDirectory: Directory IsTopMost: True CheckIfFileExists: True SelectedFile=> SelectedFile ButtonPressed=> ButtonPressed
GOTO 開始
END

ここまで↑


WAITがコード内にあると思うんですが、いちおー処理に時間かかるとフロー的に後からエラーを吐く可能性があると思っているのでいれてあるだけですw

さて、やり方なんですが実際やればわかるとは思うので、使用の仕方を簡単に説明だけしておきます。


使用する前に

Windows10の方は無料のPower Automateをインストール。
起動後はアカウントが必須なのでサインインをする。

Windows11の方はプリインストールしてあるので、検索窓でPower Automateを検索し、開く。
起動後はアカウントが必須なのでサインインをする。

下準備

1 起動したら新規ワークフローをクリック。
2 名前を決める。
3 上記のコードをコピペし保存して閉じる。
4 ワークフローの三点リーダーをクリック
5 プロパティにあるショートカットにCtrl+SHEFT+SPACEを割り当て

使用の仕方

フローの起動はCtrl+SHEFT+SPACE

選択窓が開くので画像を取り出したいdocxかxlsxかpptxを選択
同階層に抜き出し中の時は【作業中】フォルダがある。
作業が完了したらファイル名が【ファイル名+media】とかかれたフォルダに変更されている
そのフォルダ内に画像があります。


バージョン履歴
2023/06/29
公開
2023/06/29
フローを起動したらそのまま起動しつづけるように変更
Ctrl+SHEFT+SPACE
拡張子の選択項目を追加
ワード、エクセル以外の処理を実行した場合も落ちないように変更
2023/06/30
重度な不具合を修正
同一フォルダ内にある場合は生成したフォルダを削除するように変更
ループ機能の高速化を廃止(固まってしまう為)
2023/07/06
繰り返し選択処理ができるように変更。
2023/07/07
細かい修正とpptxにも対応


更新07/07 09時00分

更新日以前をコピペしてる方はコピーしなおしてください。