[python] ExcelのシートをJpegに書き出す [excel]

表題の通り。
Excelの複数シートをまとめてJpeg化したかったのでやり方を調べてみました。

とりあえず、その場にあった画像をはりつけただけ+
出力範囲確認のため、適当に文字をいれただけのExcelを準備します。

コードはこんなかんじ。

結果。

最終的にはJPEGにしたいのですが、Excelからは直接JPEGにできないので
一端PDFとして出力します。

Excelには毎度おなじみpywin32でアクセスします。
デフォルトで用意されているExportAsFixedFormatコマンドを使用して、拡張子をpdfとすれば
PDFにて出力が可能です。

このときの印刷の表示領域は、印刷設定が使用されるので
範囲は事前の設定しておく必要があります。
今回はA4サイズで出力されて欲しかったので、A4かつ余白を狭めるようにしています。

一度印刷画面を出せば、どの範囲まで確認出来るようになるので
Pythonでかき出す前にチェックするとGoodです。

それが出来たら、あとは以前PDFをBOOSTNOTEに送るで書いたやり方で
PDFをJPEG化してあげれば完了です。

Batの中身はこうなりました。
_####.jpg になるようにだけ、前回のBatから変更してあります。

注意点は、ExportAsFixedFormatで出力するとき、すでにファイルがあるときはエラーになってしまいます。
今回の場合は最終的に必要なファイルがJPEGなので、PDFは処理が終わったら削除していますが
そうでなければ、ふるいファイルをリネームするなりの処理を入れてあげる必要があります。

毎度の事ながらPywin32でExcel編集するときのコマンド調査方法が謎…

コメントを残す

メールアドレスが公開されることはありません。

*