Tâche plannifiée authentifiée pour lancer un VBS - VB/VBA/VBS - Programmation
MarshPosté le 11-08-2008 à 10:45:02
Bonjour,
J'ai programmé une macro Outlook qui lorsqu'elle est lancée manuellement s'exécute correctement. J'ai voulu via un fichier externe VBS la lancer périodiquement grâce à une tâche planifiée, malheureusement cela ne semble pas fonctionner tout le temps. L'ordinateur tourne sous Windows XP, et l'utilisateur connecté possède un mot de passe qui a été bien spécifié dans les propriétés de la tâche planifiée. Lorsque le lancement de la tâche planifiée rate, elle lève une erreur du style "L'objet maFonction n'est pas accessible ou n'existe pas"...
Après lancement manuel dans Outlook de la macro, la tâche planifiée se met à fonctionner parfois ! Comme si le fait de la lancer manuellement l'authentifiait peut-être ? Bref, je soupçonne un pb de droit d'exécution/d'accès aux macro Outlook...
J'avoue ne pas bien saisir le fonctionnement des droits d'exécutions des macros...
Ce que je cherche donc à faire : Avoir une tâche planifiée qui exécute toutes les 10 minutes ce fichier VBS qui lance une macro présente dans Outlook. (En sachant que Outlook fonctionne sur un domaine Exchange authentifié) A savoir : La tâche planifiée fonctionne elle, c'est l'exécution du VBS qui plante. D'autre part, on considère que Outlook est toujours ouvert sur la machine de l'utilisateur et déjà authentifié. L'accès à la boîte mails de l'utilisateur est donc possible pour la macro.
Quelqu'un aurait une idée de comment faire ? Merci
EDIT : Je précise que j'utilise VB 6.3 Je précise également qu'utiliser une Tâche planifiée Windows n'est pas nécessaire. Dans ce cas, il faudrait que je puisse lancer ma fonction VB à intervalle régulier. J'ai essayer ceci, qui fonctionne, mais qui utilise le processeur à fond en permanence, ce que je trouve inacceptable : Dim PauseTime, Start, TotalTime While True PauseTime = 600 ' Pour déclencher le code toutes les 10mn Start = Timer ' Définit l'heure de début. Do While Timer < Start + PauseTime DoEvents ' Donne le contrôle à d'autres processus. Loop 'LANCEMENT DE LA FONCTION ICI Wend
Y a-t-il un autre moyen en VB6 de lancer "proprement" et à intervalle régulier une fonction incluse dans Outlook ? Merci...
Message édité par pacproduct31 le 11-08-2008 à 13:02:12
Marsh Posté le 11-08-2008 à 10:45:02
Bonjour,
J'ai programmé une macro Outlook qui lorsqu'elle est lancée manuellement s'exécute correctement.
J'ai voulu via un fichier externe VBS la lancer périodiquement grâce à une tâche planifiée, malheureusement cela ne semble pas fonctionner tout le temps.
L'ordinateur tourne sous Windows XP, et l'utilisateur connecté possède un mot de passe qui a été bien spécifié dans les propriétés de la tâche planifiée.
Lorsque le lancement de la tâche planifiée rate, elle lève une erreur du style "L'objet maFonction n'est pas accessible ou n'existe pas"...
Après lancement manuel dans Outlook de la macro, la tâche planifiée se met à fonctionner parfois !
Comme si le fait de la lancer manuellement l'authentifiait peut-être ?
Bref, je soupçonne un pb de droit d'exécution/d'accès aux macro Outlook...
J'avoue ne pas bien saisir le fonctionnement des droits d'exécutions des macros...
Ce que je cherche donc à faire : Avoir une tâche planifiée qui exécute toutes les 10 minutes ce fichier VBS qui lance une macro présente dans Outlook. (En sachant que Outlook fonctionne sur un domaine Exchange authentifié)
A savoir : La tâche planifiée fonctionne elle, c'est l'exécution du VBS qui plante. D'autre part, on considère que Outlook est toujours ouvert sur la machine de l'utilisateur et déjà authentifié. L'accès à la boîte mails de l'utilisateur est donc possible pour la macro.
Quelqu'un aurait une idée de comment faire ?
Merci
EDIT :
Je précise que j'utilise VB 6.3
Je précise également qu'utiliser une Tâche planifiée Windows n'est pas nécessaire. Dans ce cas, il faudrait que je puisse lancer ma fonction VB à intervalle régulier.
J'ai essayer ceci, qui fonctionne, mais qui utilise le processeur à fond en permanence, ce que je trouve inacceptable :
Dim PauseTime, Start, TotalTime
While True
PauseTime = 600 ' Pour déclencher le code toutes les 10mn
Start = Timer ' Définit l'heure de début.
Do While Timer < Start + PauseTime
DoEvents ' Donne le contrôle à d'autres processus.
Loop
'LANCEMENT DE LA FONCTION ICI
Wend
Y a-t-il un autre moyen en VB6 de lancer "proprement" et à intervalle régulier une fonction incluse dans Outlook ?
Merci...
Message édité par pacproduct31 le 11-08-2008 à 13:02:12