【Python】Excelの図形の中のテキストを置換する
Pythonを使ってExcelファイルの図形内にあるテキストを置換します。 また、図形の中のテキストを読み取ったり、図形 …
Pythonを使ってExcelシートをPDFに変換する方法を書きます。
PythonでExcelファイルをいじるライブラリは色々あるみたいですが、今回はwin32comというモジュールを使用します。
win32comはWindowsのCOMオブジェクトを操作できます。ExcelのVBAでもCOMオブジェクトを使いますね。
win32comはデフォルトで入っていないためインストールします。
pip install pywin32
これでimport win32com
できるようになります。
変換前のExcelファイル(.xlsx)は適当に用意しました(ただのExcelのテンプレートを持ってきただけです)。
1つのシートがひと月分のカレンダーになっていて、それが12シート(1年分)あります。
これを一つのPDFファイルに変換します。
ExcelファイルをPDFに変換するには、win32comからExcelを操作して、ファイルを開く→PDFで保存するだけです。
以下、サンプルプログラムを載せます。
import win32com.client
from pywintypes import com_error
# 絶対パスで指定してね
WB_PATH = r'C:\hoge\fuga\年のカレンダー.xlsx'
PATH_TO_PDF = r'C:\hoge\fuga\年のカレンダー.pdf'
excel = win32com.client.Dispatch("Excel.Application")
excel.Visible = False
try:
print('PDFへ変換開始')
# 開く
wb = excel.Workbooks.Open(WB_PATH)
# 保存したいシートをインデックスで指定。1が最初(一番左)のシート。
ws_index_list = [1,2,3,4,5,6,7,8,9,10,11,12]
wb.WorkSheets(ws_index_list).Select()
# 保存
wb.ActiveSheet.ExportAsFixedFormat(0, PATH_TO_PDF)
except com_error as e:
print('失敗しました')
else:
print('成功しました')
finally:
wb.Close()
excel.Quit()
12シートすべてを指定して、PDFファイルにエクスポートしています。
出力されたPDFは以下です。
思ったより簡単にPDFにできました。
他にもいろいろできそうでおもしろいですね。
以下も参考にしてください。
Pythonを使ってExcelファイルの図形内にあるテキストを置換します。 また、図形の中のテキストを読み取ったり、図形 …
PythonでExcelファイルのセル内の文字列を置換します。 テンプレートとなるようなファイルがあり、その中の文字列だ …
PowerShellでパスワード付きのエクセルブックを開きます。 エクセルブックを開くメソッド(Openメソッド)を実行 …
PowerShellを使ってExcelのセル内の文字列を置換します。 Excelの検索・置換機能をPowerShellか …
Windows10にPythonをインストールします。 公式サイトからインストーラーをダウンロードし、それを自分のPCで …
Python & Seleniumで作成したプログラムを実行形式(.exe)にします。 特に今回は一つのexeフ …
Pythonを使ってiPhone/iPadだけでyoutubeなどの動画をダウンロードするスクリプトを作成しました。 そ …