Home » Python » pywin32・win32comの使い方 » pywin32・win32com.clientからWord.Document.SaveAs2メソッドを利用する

pywin32・win32com.clientからWord.Document.SaveAs2メソッドを利用する

動作検証バージョン:Windows 10 + Python 3.7.3 + pywin32 224 +Word 1907

「python word saveas2」
という検索キーワードでアクセスがありました。

SaveAs2という名前のメソッドを持つPythonのライブラリーがあるのかどうか不明ですが、pywin32を使えば、確実にWordのDocument.SaveAs2メソッド使えますので、簡単なサンプルをご紹介します。

pywin32からWord.Document.SaveAs2を使ってPDF保存する

以下のようなスクリプトで、Cドライブtempフォルダーに存在するfoo.docxファイルを、同じフォルダーにfoo2.pdfとして保存できます。

import win32com.client

wd = win32com.client.Dispatch('Word.Application')
wd.Visible = True

doc = wd.Documents.Open(r'C:\temp\foo.docx')
wdFormatPDF = 17
doc.SaveAs2(FileName=r'C:\temp\foo2.pdf', FileFormat=wdFormatPDF)

Word VBAのコードとほぼ同じ

後半の、
  doc = wd.Documents.Open(r'C:\temp\foo.docx')
  wdFormatPDF = 17
  doc.SaveAs2(FileName=r'C:\temp\foo2.pdf', FileFormat=wdFormatPDF)
は、Word VBAならば
  Dim doc As Document
  Set doc = Documents.Open("C:\temp\foo.docx")
  doc.SaveAs2(FileName:="C:\temp\foo2.pdf", FileFormat:=wdFormatPDF)
と書けます。

Word VBAならば定数wdFormatPDFが、実際には17という整数であることは明らかですが、Pythonではわかるはずもないので、上記のスクリプトでは、
  wdFormatPDF = 17
と、Wordの定数と同じ名前で変数を定義して代入をしています。

前半の
  wd = win32com.client.Dispatch('Word.Application')
  wd.Visible = True
は、VBScriptなどからWordを操作する場合に、
  Dim wd
  Set wd = CreateObject("Word.Application")
  wd.Visible = True
と書くのと同じ処理です。

「python word saveas2」
を検索なさった方が、Word VBAをほとんどご存知ないのなら、まずはWord VBAについて学習することをおすすめします。

最終更新日時:2023-04-20 15:49

[スポンサードリンク]

Home » Python » pywin32・win32comの使い方 » pywin32・win32com.clientからWord.Document.SaveAs2メソッドを利用する

「pywin32・win32comの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.