Python Win32Com Первая страница Верхний / нижний колонтитул - PullRequest
0 голосов
/ 10 сентября 2018

Некоторый контекст

Я пытаюсь собрать информацию из большого количества файлов .doc, поэтому я написал программу на python, которая сделает для меня тяжелую работу.Word обладает отличной способностью различать верхний и нижний колонтитулы первой страницы.Обычно это полезно, но я сталкиваюсь с проблемой, для которой не могу найти хорошего решения.

Вот как я получаю доступ к верхним и нижним колонтитулам:

import win32com
word_app = win32com.client.Distpatch('Word.Application')
doc = word_app.Documents.Open('path/to/my/word/file.docx')
first_footer = doc.Sections(1).Footers(1).Range.Text
print(first_footer)

Существуетподвох: первая страница содержит верхние / нижние колонтитулы, которые являются общими для всего документа, но также некоторые вещи, которые являются уникальными для первой страницы.Приведенный выше код не фиксирует эту уникальную информацию: он показывает только информацию верхнего / нижнего колонтитула с первой страницы, которая является общей для всего документа.

Когда первая страница имеет уникальный контент в своем заголовке инижний колонтитул, как я могу получить к нему доступ, используя python win32com?

1 Ответ

0 голосов
/ 04 октября 2018

После некоторого копания я нашел ответ.

Оказывается, вам нужно использовать константу wdHeaderFooterFirstPage внутри бита констант модуля для доступа к верхнему и нижнему колонтитулам первой страницы, вот так:

doc.Sections(1).Headers(win32com.client.constants.wdHeaderFooterFirstPage).Range.Text

Возвращает строку, которой вы можете манипулировать как обычно.Трудно найти документацию для win32com, и перевод ее из документации VBA не так очевиден, как хотелось бы.

...