2016-01-11 5 views
0

Я пытаюсь запустить макрос Excel из Python.Python: Использование win32com.client.dispatch для открытия рабочей книги деактивирует надстройку рабочей книги

Я использовал этот кусок кода:

import os 
import win32com.client 

filepath = r"myfilepath" 

if os.path.exists(filepath): 
    xl=win32com.client.Dispatch("Excel.Application") 
    xl.Workbooks.Open(Filename=filepath) 
    xl.Application.Run("SendReport") 
## xl.Application.Save() # if you want to save then uncomment this line and change delete the ", ReadOnly=1" part from the open function. 
    xl.Application.Quit() # Comment this out if your excel script closes 
    del xl 

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

Есть ли альтернативный способ открыть книгу, которая оставит мою надстройку активной?

ответ

0

Я использую (ниже), и мой VBA код + внешние соединения не деактивируется

import win32com.client as win32 
excel = win32.gencache.EnsureDispatch('Excel.Application') 
Смежные вопросы