Как я могу хранить sh данных в Microsoft Word Document, используя Python - PullRequest
0 голосов
/ 01 мая 2020

Получил python скрипт, который берет шаблон базового слова и заполняет его текстом и таблицами, представляющими отчет. Текст и таблицы различны для каждого сгенерированного отчета.

95% аспектов текстового содержимого «dynamici c» обрабатывается в python (ДО введения в текстовый документ). Но есть около 20 случаев, когда я хотел бы поместить sh STRING VALUES в объект типа «словарь», который будет выглядеть следующим образом:

{
"<<report_date_string>>": "January 15, 2020",
"<<client_name_first>>": "Ralph",
"<<client_name_last>>":  "Wiggum"
}

А затем использовать Post-Processing / Python VBA должен выполнить серию «найти и заменить», чтобы в основном заменить все <> в документе на «Ральф».

Если вам интересно, почему бы не сделать это на 100% в Python ... Есть несколько веских причин, но самая простая из них заключается в том, что Python -Docx не может «достичь» внутри некоторых из милые объекты Word (текстовые контейнеры), которые любят отделы маркетинга повсюду ... Но VBA МОЖЕТ добраться до этих мест ...

Итак, главный вопрос: как я могу получить данные в Python - - и вставил его в ДОКУМЕНТ СЛОВА ... таким образом, VBA постобработки может получить к нему доступ ... и затем взять отчет в последней миле домой, НАЙТИ ЗАМЕНУ L OOP?

До сих пор рассматривалось:

  1. Внедрение Raw VBA в документ Word (включая словарь и весь скрипт поиска / замены) с использованием python com32. Это нестабильно на некоторых наших машинах и не рекомендуется Microsoft.

  2. Слово do c - это просто zip-файл. Поэтому мы попытались сохранить txt-документ внутри ZIP-файла, но тогда возникает проверка целостности файла слова.

  3. Сохранение целей замены ключ / значение ВНУТРИ ИЗОБРАЖЕНИЯ (законных носителей, которые не испугать проверки целостности слова). А затем с помощью VBA для анализа данных из изображения ....

Пока вариант 3 кажется нашим планом. Но это кажется ... безумным, не так ли? Любые идеи очень ценятся.

...