Автоматизация Microsoft Word с помощью Python.Net

Как автоматизировать офис Microsoft с помощью офисного взаимодействия с python.net? Я пробовал следующее, но выдает ошибку:

import clr
clr.AddReference("System")
clr.AddReference("Microsoft.Office.Interop")

from Microsoft.Office.Interop import Word

wordApp = Word.Application()
wordApp.Visible = True
doc1 = wordApp.Documents.Add()

AttributeError: объект «__ComObject» не имеет атрибута «Добавить»


person Rahul    schedule 29.12.2016    source источник
comment
В старом проекте C# у меня есть Word.Document doc = wordApp.Documents.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing);. Четыре параметра стали необязательными в C# 4.0 примерно в 2010 году, что должно было значительно упростить вызовы COM, например. Word.Document doc = wordApp.Documents.Add();, но эта функция может еще не поддерживаться в Python.NET. Возможно, связано: stackoverflow.com/questions/26742837/   -  person Nat    schedule 29.12.2016


Ответы (1)


Я написал простую оболочку, которая обеспечивает COM-взаимодействие с pythonnet. Полная информация здесь:

https://github.com/pythonnet/pythonnet/issues/260

person denfromufa    schedule 29.12.2016
comment
Является ли class comobj(object): тем, что вы называете оболочкой? - person Rahul; 29.12.2016
comment
Точно, но это очень просто - person denfromufa; 30.12.2016