前提・実現したいこと
エクセルに埋め込まれた画像を
画像ファイルとして書き出したいと考えております。
画像を取り出すだけであればエクセルの拡張子を「zip」に変更し
「xl/media/」からファイルを取り出すという方法も考えられますが、
今回は埋め込まれたセル内の値をファイル名として保存したいと考えているため、
スクリプトでの解決方法を模索しているところです。
↓以下であれば、A1の画像は123.jpg、A2の画像は456.jpg、A3の画像は789.jpgとして保存。
該当のソースコード
$exc = new-object -Com Excel.Application
$exc.visible = $true
$bk = $exc.Workbooks.Open("hoge.xlsx")
$sh = $bk.ActiveSheet
foreach ($s in $sh.Shapes) {
Write-Host "ここでシェイプを画像ファイルとして保存したい"
}
試したこと
PowerShell、Pythonで解決方法を探りましたが行き詰まってしまいました。※VBAは試していません。
そもそもエクセルでは「図として保存」ができないという仕様らしいので画像として保存することは難しいのでしょうか?
パワポを開いてそちらで保存という方法ができるのではとも考えています。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。