J'essaie d'utiliser python pour exécuter une macro Excel, puis fermez Excel. Je donne les résultats suivants:Python en cours d'exécution d'une macro Excel
import win32com.client
import os
xl = win32com.client.DispatchEx("Excel.Application")
wb = xl.workbooks.open("X:\Location\Location2\File1.xlsm")
xl.run("File1.xlsm!WorkingFull")
xl.Visible = True
wb.Close(SaveChanges=1)
xl.Quit
Mon script ouvrira ses portes et bien proche si je prends le xl.run (« File1.xlsm WorkingFull! ») Quand je lance ce que j'obtiens l'erreur suivante:
Traceback (dernier appel en dernier): Fichier "C: \ Python27 \ File1.py", ligne 6, en xl.run ("Fichier1.xlsm! WorkingFull") Fichier "", ligne 2, en exécution com_error: (-2147352567, 'Une exception s'est produite.', (0, 'Microsoft Excel', u 'Impossible d'exécuter la macro' File1.xlsm! WorkingFull 'La macro n'est peut-être pas disponible dans ce classeur ou toutes les macros peuvent être désactivées . ", u'xlmain11.chm ', 0 (-2146827284), None)
J'ai des macros activées et je sais que c'est dans le classeur, quel est le problème?
Avez-vous essayé de réduire l'appel? 'xl.run (" WorkingFull ")'? – SeanC
Assurez-vous que votre macro n'est pas privée. Essayez aussi 'xl.run (wb.WorkingFull)' et voyez si cela fonctionne. – KFleschner
travaillé, mais je reçois l'erreur, mais il semble exécuter ma macro. La seule raison pour laquelle je sais que c'est ma macro enregistre un fichier. Traceback (dernier appel en dernier): Fichier "C: \ Python27 \ file1.py", ligne 6, dans xl.run ("WorkingFull") Fichier "", ligne 2, dans run com_error: (-2147352567, 'Une exception s'est produite.', (0, Aucune, Aucune, Aucune, 0, -2146788248), Aucune) –