Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
XL 2019Exécuter une tache planifiée de Windows en vba
On trouve beaucoup de sujets sur comment lancer une macro par le planificateur de tâches de windows mais je ne trouve pas comment faire l'inverse : exécuter une tache planifiée (créée) en vba
Bonjour,
Je ne vois pas comment en VBA, faire "Exécuter" du menu du planificateur de tâches à moins d'une combine pas très élégante d'un clic souris simulé sur l'item du menu.
Y a un truc que je ne comprends pas dans ta question.
L'option "Exécuter" du menu du planificateur de tâches exécute le programme décrit dans la rubrique "Action" de la tâche. Il suffit d'exécuter ce programme à partir du VBA. Pas la peine de faire le tour du monde par le planificateur de tâches.
Un exemple d'exécution de programme via le VBA. Le Handle du processus est récupéré pour éventuelle utilisation ultérieure.
VB:
Sub a()
'https://docs.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/shell-function
Dim ProcessId As Variant
Dim ProcessHandle As Variant
Dim Url As String
Const ChromeFile = "C:\Program Files\Google\Chrome\Application\chrome.exe"
'Exécute Chrome
Url = "https://www.20minutes.fr/"
ProcessId = Shell(ChromeFile & " --new-window -url " & Url, vbNormalFocus)
ProcessHandle = ExecuteExcel4Macro("CALL(""Kernel32"",""OpenProcess"",""JJJJ"",""" & 2031616 & """,""" & 0 & """,""" & ProcessId & """)")
End Sub
Bonjour,
Je ne vois pas comment en VBA, faire "Exécuter" du menu du planificateur de tâches à moins d'une combine pas très élégante d'un clic souris simulé sur l'item du menu.
Y a un truc que je ne comprends pas dans ta question.
L'option "Exécuter" du menu du planificateur de tâches exécute le programme décrit dans la rubrique "Action" de la tâche. Il suffit d'exécuter ce programme à partir du VBA. Pas la peine de faire le tour du monde par le planificateur de tâches.
Un exemple d'exécution de programme via le VBA. Le Handle du processus est récupéré pour éventuelle utilisation ultérieure.
VB:
Sub a()
'https://docs.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/shell-function
Dim ProcessId As Variant
Dim ProcessHandle As Variant
Dim Url As String
Const ChromeFile = "C:\Program Files\Google\Chrome\Application\chrome.exe"
'Exécute Chrome
Url = "https://www.20minutes.fr/"
ProcessId = Shell(ChromeFile & " --new-window -url " & Url, vbNormalFocus)
ProcessHandle = ExecuteExcel4Macro("CALL(""Kernel32"",""OpenProcess"",""JJJJ"",""" & 2031616 & """,""" & 0 & """,""" & ProcessId & """)")
End Sub
En écrivant ma demande, j'ai eu un petit doute sur une réponse possible dans cette direction....
Malheureusement il s'agit d'une tache sur un poste entreprise avec un soft entreprise qui ne se lance que par la tache planifiée avec arguments.... pas de contournement possible comme tu me le proposes sinon, oui, je serait passé directement par une ouverture de l'appli de type Shell ("C:\Program Files (x86)\WinGADD Software\GADDxl_MHS\AutoGADD.exe")
Il n'y à pas moyen de récupérer la liste les taches planifiées pour ensuite faire un genre de "start" pour l'exécuter ?