2017-01-20 1 views
0

Nous avons créé une macro pour exécuter l'accès MS (Office 365) sur Windows Server 2012 afin qu'il exécute un script qui crée et envoie des e-mails via MS Outlook. Nous pouvons exécuter la macro à partir de MS Access, mais nous ne pouvons pas obtenir le planificateur de tâches Windows pour planifier automatiquement ce processus. Ce que nous faisons est de créer des factures pour nos clients automatiquement en utilisant MS Access. La macro fonctionne parfaitement si nous l'exécutons dans le fichier ouvert. Il crée tous les emails avec une facture jointe en PDF qui est ensuite envoyée via outlook à nos clients. Tout cela est fait avec un clic de la macro. Mais nous ne pouvons pas planifier ce processus via le planificateur de tâches Windows. Quelqu'un peut-il aider?Exécution d'une macro via le planificateur de tâches dans le serveur Windows 2012

+0

Votre Outlook fonctionne-t-il également? Si oui, utilisez le rappel Outlook pour appeler la macro – 0m3r

Répondre

0

Je réponds à ma propre question car les commentaires ne permettent pas d'afficher suffisamment d'informations.

Nous avons finalement réussi à le faire en utilisant la suggestion dans l'un des commentaires ci-dessus pour utiliser des rappels Outlook plutôt que le planificateur de tâches.

Cette solution implique la configuration d'une tâche et d'un rappel programmé dans OUTLOOK. La planification récurrente du rappel dans Outlook remplace le planificateur de tâches. Nous avons catégorisé le rappel pour faciliter l'identification exacte. (Pour une tâche, ajoutez une nouvelle catégorie et attribuez-lui un nom) Le script VBA dans Outlook est déclenché en identifiant la catégorie de rappel et la macro MSAccess est lancée, ce qui envoie les courriers électroniques puis ferme l'application Access. Ceci est effectué sur une base récurrente programmée définie comme définie pour cette tâche de rappel Outlook. Le seul problème que nous avions était avec la ligne suivante mydb.Application.Run « MacroName » l'erreur résultant a été rectifié par mydb.DoCmd.RunMacro « MacroName »

Nous avons maintenant une méthode de planification qui fonctionne. Il semblerait que lorsqu'un script Access VBA, qui inclut l'envoi d'un email est appelé à partir d'un script programmé OUTLOOK, il n'a aucun problème à terminer la tâche, alors que le même script exécuté par Task Scheduler ne se termine pas.

Espérons que cela aide les autres.