С использованием Python (win32com) я хочу вставить определенный пользователем номер страницы в ячейку таблицы MS Word. Обычно в Word, если я хочу, чтобы пользовательский номер страницы отличался от стандартной переменной PAGE, я нажимаю Cnrtl + F9 и вставляю выражение поля, например, {= {PAGE} +3}. Поэтому я хочу получить его на Python.
Я пытался вставить поле в ячейку таблицы:
import win32com.client as win32
word = win32.Dispatch('Word.Application')
document = word.ActiveDocument
myRange = document.Paragraphs(1).Range
myTable = document.Tables.Add(myRange, 5, 5,
win32.constants.wdWord8TableBehavior)
cellRange = myTable.Cell(2, 2).Range
myField = document.Fields.Add(
cellRange,
win32.constants.wdFieldEmpty,
'PAGE',
True)
В результате я получаю это сообщение:
«Файл» C: \ Users \ 2E78 ~ 1 \ AppData \ Local \ Temp \ gen_py \ 3.7 \ 00020905-0000-0000-C000-000000000046x0x8x7 \ Fields.py ", строка 35, в Добавить
, Тип, Текст, Сохранять форматирование)
pywintypes.com_error: (-2147352567, «Ошибка.», (0, «Microsoft Word», «Эта команда недоступна.», «wdmain11.chm», 37373, -2146823683), нет) "
P.S. Я пытался записать макрос в Word, чтобы увидеть команды VBA, но, похоже, он записывает только самые базовые действия.