Bonjour,
J'ai un fichier xlsm qui contient dans "Thisworkbook" une macro, cette macro envoie un mail avec en pièce le classeur tout entier.
Je souhaite éxécuter ma macro depuis un fichier .bat pour ensuite planifier cette exécution sur mon planificateur de tâche.
J'ai donc créé un module dans lequel j'ai saisi le code ci-dessous qui permet d'exécuter la ligne de commande du batch
et ma ligne de commande dans .bat est:
En éxutant mon batch j'ouvre bien Excel mais la macro ne s'exécute ,c-à-d que le mail n'est pas envoyé.
Pouvez-vous m'aidez s'il vous plaît ? je bloque depuis quelques jours sur ce point.
Merci d'avance.
Bon weekend.
Kalmard
J'ai un fichier xlsm qui contient dans "Thisworkbook" une macro, cette macro envoie un mail avec en pièce le classeur tout entier.
Je souhaite éxécuter ma macro depuis un fichier .bat pour ensuite planifier cette exécution sur mon planificateur de tâche.
J'ai donc créé un module dans lequel j'ai saisi le code ci-dessous qui permet d'exécuter la ligne de commande du batch
Code:
Private Sub Workbook_Open()
Dim macmdline As Variant
Dim monparam As Variant 'déclare une variable
macmdline = GetCmd 'affecte la valeur de la ligne de commande
If Not IsNull(macmdline) Then 'si la variable est nulle
If Len(macmdline) > 0 Then 'on s'assure qu'il y a eu une ligne de commande passée
If InStr(macmdline, "/cmd") > 0 Then
macmdline = Replace(macmdline, ThisWorkbook.FullName, "", , , vbTextCompare)
monparam = Split(macmdline, "/cmd")
Application.Run Mid(monparam(1), 2, Len(monparam(1)) - 3)
End If
End If
End If
End Sub
et ma ligne de commande dans .bat est:
Code:
C:\Program Files\Microsoft Office\Office12\EXCEL.exe" /cmd/EnvoiEmail "D:\C_Technique\CT_loi\Code\Report\New4.xlsm"
En éxutant mon batch j'ouvre bien Excel mais la macro ne s'exécute ,c-à-d que le mail n'est pas envoyé.
Pouvez-vous m'aidez s'il vous plaît ? je bloque depuis quelques jours sur ce point.
Merci d'avance.
Bon weekend.
Kalmard