VBSscript pour exécuter la macro Excel ne fonctionne pas

J'ai essayé de rassembler un VBSscript qui exécutera une macro Excell. J'ai utilisé plusieurs scripts d'autres threads sur ce forum ainsi que des scripts trouvés ailleurs sur le Web.

J'ai trouvé ce forum le plus utile pour d'autres personnes avec des questions similaires. Les experts ici sont juste: experts.

Je suis nouveau dans l'écriture de script. Mon expérience se limite à couper et à coller des scripts d'exemple dans un process d'essai et d'erreur. Avec ce script particulier, je ne peux pas find la combinaison correcte pour exécuter une macro excellente à partir d'un VBSscript.

Voici le code que je suis actuellement en cours d'exécution:

Set xlObj = CreateObject("Excel.application") xlObj.Workbooks.Open "C:\Documents and settings\user\Desktop\Excel_macro_email.xls" xlObj.Run "macro_email" 'name of macro xlObj.ActiveWorkbook.Saved = True xlObj.ActiveWindow.Close xlObj.Quit 

J'utilise XLnow OnScript Editor pour comstackr / déboguer le script et l'éditeur ne voit aucun problème. Lorsque je clique deux fois sur le file .vbs, la window cmd apparaît pendant une seconde et je peux voir qu'il y a une sortie, mais que je ne peux pas la lire car elle se ferme si vite. (J'ai également étudié comment produire les résultats dans un file, mais je me dirige vers le haut, je peux me diriger avec tout cela.

Est-ce que quelqu'un est prêt à aider à corriger ce script? Si vous pouvez aider, et suggérer un code, incluez également l'endroit où placer le code dans le script, ou peut-être que vous pouvez l'inclure dans un script complet. Quoi faire avec les suggestions que je trouve ici est presque autant un problème que le code à utiliser.

Merci pour toute aide que vous pouvez offrir. Je m'excuse pour mon manque d'expertise. À la fin, avec un peu d'aide, je vais apprendre par l'expérience.

Il s'agit d'une mise à jour du script avec le sous ajouté comme suggéré ci-dessous:

 Sub OpenAndRun (Excel_macro_email) Set xlObj = CreateObject("Excel.Application") xlObj.Workbooks.Open "C:\Documents and Settings\user\Desktop\Excel_macro_email.xls" xlObj.Run "Excel_macro_email.xls,macro_email" xlObj.ActiveWorkbook.Saved = True xlObj.ActiveWindow.Close xlObj.Quit End Sub 

Je n'obtiens toujours pas la macro à exécuter. Les windows cmd s'ouvrent brièvement comme précédemment, mais maintenant, je ne vois aucune sortie lorsqu'elle clignote.

Aucune suggestion?

C'est pour publier la solution à ce problème '

Merci pour votre réponse.

J'ai essayé des versions secérales de ce script. Dans la dernière version, j'ai ajouté une ligne "Sub" et "End Sub" qui a probablement aidé. La solution finale a été lorsque j'ai découvert que l'extension de file pour le file Excel n'était pas .xls mais .xlsm. Lorsque j'ai ajouté que "m" (pour la macro activée, je suppose), la dernière version du script a commencé à fonctionner.

Elle est la version de travail:

 Option Explicit Dim xlApp, xlBook Set xlApp = CreateObject("Excel.Application") '~~> Change Path here Set xlBook = xlApp.Workbooks.Open("C:\Users\Thomas\Desktop\Excel_macro_email.xlsm", 0, True) xlApp.Run "macro_email" xlBook.Close xlApp.Quit Set xlBook = Nothing Set xlApp = Nothing WScript.Echo "Finished." WScript.Quit 

J'espère que cela aide quelqu'un d'autre avec le même problème. Merci pour ton aide.