Lancer une macro excel via VBA?
Bonjour,
J'ai dans acces un bouton qui lance une query qui crée une table et puis qui exporte cette table dans excel (C:\Trop long.xls)
Code:
1 2 3
| stDocName = "Créer trop long"
DoCmd.OpenQuery stDocName, acNormal, acEdit
DoCmd.RunSavedImportExport ("Export Trop long") |
J'aimerai que ce bouton effectue une opération supplémentaire, appliquer au fichier une macro excel de mise en page
Cette macro est stockée dans C:\Program Files\Microsoft Office\Office12\XLSTART\PERSONAL.XLSB (je ne peux pas la stocker dans C:\Trop long.xls vu que le fichier est effacé des que j'en exporte une nouvelle version) et s'appelle "PERSONAL.XLSB!trop_long"
Apres avoir pioché dans la faq j'ai fait ca
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Dim objXL As Object, x
On Error Resume Next
Set objXL = CreateObject("Excel.Application")
With objXL.Application
.Visible = True
.Workbooks.Open "C:\Program Files\Microsoft Office\Office12\XLSTART\PERSONAL.XLSB"
.Workbooks.Open "Z:\Trop long.xls"
x = .Run("PERSONAL.XLSB!trop_long")
End With
objXL.Save
objXL.Close
Set objXL = Nothing |
Ca ouvre bien mon fichier et ca fait bien tourner la macro, par contre, ca l'ouvre en read only et je ne peux donc pas l'enregistrer :?
Idealement, je voudrais que le code ouvre le fichier excel, fasse tourner la macro, sauve, et quitte le fichier.
Est-ce que quelqu'un sait comment remédier a cela?
Merci beaucoup
Emmanuelle