Как взаимодействовать с пользовательским офисным надстройкой с помощью pywin32 - PullRequest
0 голосов
/ 24 января 2020

Я пытаюсь взаимодействовать с пользовательской надстройкой для PowerPoint, используя python 3. В частности, Think-Cell, инструмент построения диаграмм. Мне нужно использовать только одну описанную здесь функцию: https://www.think-cell.com/en/support/manual/exceldataautomation.shtml

Я могу успешно использовать pywin32 для подключения к powerpoint и получить ссылку на надстройку

import win32com.client as win32

def ppt():
    return win32.gencache.EnsureDispatch('PowerPoint.Application')

def excel():
    return win32.gencache.EnsureDispatch('Excel.Application')
e = excel()
p = ppt()
thinkcell = p.COMAddIns("thinkcell.addin").Object

Однако, когда я звоню thinkcell.UpdateChart(slide, "Chart24", r) (слайд и r определены в другом месте), я получаю: AttributeError: <unknown>.UpdateChart.

Я полагаю, это означает, что проблема в том, что нет интерфейса python, написанного для надстройки think-cell или что надстройка не зарегистрирована таким образом, что объект может вызывать свои функции.

Как я могу решить эту проблему? Если мне нужно написать интерфейс, позволяющий вызывать UpdateChart, как бы это выглядело?

1 Ответ

0 голосов
/ 25 января 2020

Пробовали ли вы несколько простых действий, как:

p.Visible = True
presentation=p.Presentations.Add()
slide = presentation.Slides.Add(1, 12)
myDiamond = slide.Shapes.AddShape(4, Top=100,Left=100, Width=20, Height=20)

presentation.SaveAs(“C:\\Temp\\myPowerPoint”,1)

Также пробовали ли вы:

p = win32com.client.Dispatch("PowerPoint.Application")
...