XL 2019 Exécuter une tache planifiée de Windows en vba

Fanrs

XLDnaute Nouveau
Bonjour,

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

Sans titre.png


Merci d'avance
 

Dudu2

XLDnaute Barbatruc
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
 

Fanrs

XLDnaute Nouveau
Merci pour ton intérêt
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 ?
 

Discussions similaires

Réponses
3
Affichages
151

Statistiques des forums

Discussions
290 755
Messages
1 910 209
Membres
176 539
dernier inscrit
altheamain
Haut Bas