0
私はMS Word文書の作成を自動化しており、コードの一部はwin32comを使用して目次とヘッダーを更新しています。これを行う関数は次のようになります。PythonでMS Wordのテキストを中央に揃える方法win32com
import win32com.client as win32
def updateHeaderAndTOC(docx_file, headerText):
word = win32.gencache.EnsureDispatch("Word.Application")
doc = word.Documents.Open(docx_file)
word.ActiveDocument.Sections(1)\
.Headers(win32.constants.wdHeaderFooterPrimary)\
.Range.Text=headerText
doc.TablesOfContents(1).Update()
doc.Close(SaveChanges=True)
これはうまくいくようです。問題は、ヘッダーテキストが置き換えられるとき、何らかの理由で、ヘッダーテキストを変更する前の状態になるのではなく、ヘッダーが左揃えになることです。
は、誰かがおよび/または
- 防止起こってからこの左揃えに知っていますか?
私は、中央揃えの1段落のヘッダーでテストファイルを作成しました。あなたのコードは、私のヘッダを左詰めにすることはありませんでした。あなたのターゲットとなる単語ファイルでは、センタータブでセンタリングが達成された可能性はありますか?その場合、ヘッダテキストの先頭に '\ t 'を付けることができます。 – xidgel
私は置き換えているヘッダーには2行(2段落)あり、置き換えられるヘッダーには2行/段落があります。違いはありますか? – Jed
2パラのヘッダーを 'headerText = 'foo \ rbar \ r'のように置き換えても、問題を再現できませんでした。 2つの中央揃えのヘッダー段落の後に3番目の空白の左詰め段落があったら問題を再現できます。 – xidgel