Bonjour,
J'ai écrit un macro excel. J'ai réussi à l'exécuter à partir de python à l'aide de win32com.client. Cependant, il y a un problème :
Voilaà mon code:
xl = win32com.client.DispatchEx("Excel.Application")
file_excel= self.data._application.config().get('excel','file_macro')
path=os.path.join(os.getcwd(),file_excel)
wb = xl.Workbooks.Open(path)
#active the reference
macro="'%s'!ActiverReference.ActiverReference" % path
xl.Application.Run(macro)
macro = "'%s'!Lancer.Lancer" % path
xl.Application.Run(macro)
wb.Close(False)
xl.Quit()
del xl
Si l'application Microsoft Excel n'était pas ouvert,alors ça fonctionne bien.Mais M.Excel est ouvert avant d'exécuter le script Python, alors il y a un erreur :

Traceback (most recent call last):
File "C:\Users\user\Desktop\NFit\GUI\Framework\Gui\ResultWidget.py", line 241, in on_export_button_clicked
self._runExcelMacro()
File "C:\Users\user\Desktop\NFit\GUI\Framework\Gui\ResultWidget.py", line 392, in _runExcelMacro
wb.Close(False)
File "C:\Python27\lib\site-packages\win32com\gen_py\00020813-0000-0000-C000-000000000046x0x1x7\_Workbook.py", line 71, in Close
, Filename, RouteWorkbook)
pywintypes.com_error: (-2147417856, '\xc9chec d\x92un appel syst\xe8me.', None, None)

Pour que l'application fonctionne bien, je dois fermer tous les processus Excel mais je veux pas ça. Quelqu'un peut m'aider ?