À l'aide d'Excel vba Macro à exécuter par le biais de Windows Planification de Tâche
J'ai une feuille de calcul Excel qui j'ai mis en place un compte à rebours pour exécuter du code dans une base de données. Si la feuille de calcul est ouverte et que le temps est maintenant le temps de jeu à l'intérieur de l'intervalle de temps alors qu'il exporte les données dans la base de données
J'utilise cette ligne dans mon sous-routine et le workbook_open Application.OnTime TimeValue("22:00:00"), "ExportOpenJobs"
Ce est idéal lorsque la feuille de calcul est ouverte, mais je veux être capable de le définir à travers les Fenêtres Planifier la tâche.
Je suis à l'aide de Windows Server 2012, comme mon pc hôte et où le fichier est stocké. Dans le Planificateur de Tâches-je régler l'Action de Démarrer un programme, et le Programme de script à l'emplacement et à la réelle *.xlsm fichier avec l'heure de début de la Tâche. J'ai mis cette tâche 30 secondes avant l'heure dans le VBA Excel.
Mon problème est que le Planificateur de Tâches Windows s'exécute à l'heure, après avoir regardé l'Historique des Tâches, je peux voir la Tâche a Commencé/Terminé et Action a Commencé/Terminé en prenant souvent autour de 50mins, mais quand je vérifie la base de données Excel VBA n'a pas exécuté.
Comment puis-je obtenir mon Planificateur de Tâches pour exécuter le code Excel VBA?
Dans le Serveur Windows avez-vous réellement besoin d'Excel est installé, par conséquent, faut-il le faire sur une autre machine?
OriginalL'auteur Jez | 2014-06-09
Vous devez vous connecter pour publier un commentaire.
Bonjour ce que je voudrais faire est de le créer .VBS fichier et utiliser le Planificateur de Tâches Windows pour exécuter ce fichier vbs à l'intervalle désiré.
Application.Méthode Run (Excel)
Cet exemple ne nécessite Excel doit être installé sur l'ordinateur hôte exécutant la tâche planifiée. Si l'hôte est un Serveur ou un ordinateur de Bureau est votre choix.
Le Planificateur de Tâches de Windows doit être fait en tant que tel pour l'Action partie de la tâche:
Action: Start a program
Program/script: C:\Windows\SysWOW64\cscript.exe
Add arguments (optional): C:\Path_to_your_vbs\Your.vbs
Start in (optional): C:\Path_to_your_vbs\
Ignorer le commentaire précédent, je l'ai googlé. Donc, avec la définition de la macro à exécuter dans ce code je n'aurais pas besoin d'utiliser l'Application.À l'Heure de l'événement, alors?
C'est correct dans ce cas, le fichier VBS est de l'exécution de la Macro et le Planificateur de Tâches de Windows est à dire quand pour exécuter la Macro. Le VBS aussi indique Excel pour quitter, puis le processus va commencer une nouvelle lorsque l'événement suivant dans le planificateur de tâches se produit.
L' .vbs fichier peut être exécuté à tout moment, il n'a pas nécessairement besoin d'être exécutée via le Planificateur de Tâches de Windows. Ce script suppose également que l' .fichier vbs se trouve dans le même répertoire que le classeur excel. Afin de résoudre le problème, vous pouvez exécuter le fichier vbs, à tout moment, et de déterminer ce qui ne se produit pas. Excel pour ouvrir? Excel pour ouvrir le classeur? Excel pour exécuter la macro? Quelle étape est-il échouer?
C'est correct, l'hôte n'a pas besoin d'Excel est installé sur elle de sorte que si vous installez excel sur le serveur, il fonctionne. Le problème avec le Planificateur de Tâches de Windows, c'est que vous aurez réellement besoin d'utiliser l'Action: "Démarrer un Programme", un Programme/script: "C:\Windows\SysWOW64\cscript.exe", Argument: "C:\Path_to_vbs\Your.vbs", "Démarrer Dans: "C:\Path_to_vbs". Je vais mettre à jour la réponse avec cette.
OriginalL'auteur Sean W.