J'ai le Skript suivant qui a été précédemment exécuté manuellement:
set DIR="X:\SYSTEM\MAKROS"
X:
cd %DIR%
start /wait EXCEL.EXE /e-GENERATE_REPORTS BSYSTEM.XLA
Lorsque démarré manuellement, cela fonctionne très bien. Le BSYSTEM.XLA
fait partie d'un système de gestion de projet basé sur Excel, je ne peux donc pas exporter le fichier dans un format de fichier différent.
Je dois maintenant exécuter ce script quotidiennement. Lors de la création d'une tâche planifiée pour exécuter ce .bat
fichier, il ne fonctionne tout simplement pas. La tâche se termine en quelques secondes (le script prend normalement environ 10 minutes) avec le dernier code de résultat d'exécution 0x1
et l'historique de la tâche ne montre rien qui soit utile:
J'ai déjà essayé de créer une tâche qui s'exécute directement, "C:\Program Files (x86)\Microsoft Office\Office16\EXCEL.EXE" /e-GENERATE_REPORTS BSYSTEM.XLA
mais cette erreur se produit, cette information étant affichée dans l'historique:
Le planificateur de tâches n'a pas pu lancer l'action "C: \ Program Files (x86) \ Microsoft Office \ Office16 \ EXCEL.EXE" dans l'instance "{1fbeadd0-605b-4fe0-8d96-621281c53519}" de la tâche "\ Allgemein \ TMG Bericht". Données supplémentaires: Valeur d'erreur: 2147942667.
J'ai aussi essayé un script vbs comme celui-ci:
set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
set xlBook = xlApp.Workbooks.Open("X:\SYSTEM\MAKROS\BSYSTEM.XLA")
xlApp.Run "GENERATE_REPORTS"
xlBook.Close
xlApp.Quit
Mais de cette façon, j'obtiens l'erreur The macro can not be executed. The 'GENERATE_REPORTS' macro may not be available in this workgroup, or all macros have been disabled
, ce qui n'est pas vrai car cela fonctionne très bien, le script obove étant appelé manuellement. Le lecteur réseau à partir duquel le fichier est stratifié est défini comme "emplacement approuvé".
Etrangement quand j'ouvre, BSYSTEM.XLA
je ne vois aucune feuille, mais juste un fichier Excel avec la plupart des éléments grisés, sauf le bouton makro. Lorsque j'essaie de jeter un coup d'œil aux macros, je n'en vois aucun. C’est pourquoi j’ai du mal à comprendre ce que fait start /wait EXCEL.EXE /e-GENERATE_REPORTS BSYSTEM.XLA
même ..
Je n'ai trouvé aucun élément utile concernant les commutateurs de ligne de commande Excel, à l'exception de ces deux documents:
- https://support.office.com/en-us/article/command-line-switches-for-microsoft-office-products-079164cd-4ef5-4178-b235-441737deb3a6
- https://support.microsoft.com/de-de/help/291288/description-of-the-startup-switches-for-excel
Que puis-je faire pour fournir une alternative scriptable au script btach ci-dessus afin que je puisse exécuter cette commande en tant que tâche planifiée, ou que puis-je faire pour réparer le vbs?
The macro can not be executed. The 'GENERATE_REPORTS' macro may not be available in this workgroup, or all macros have been disabled.
BSYSTEM.XLA
fichier, mais un fichier Excel avec tous les éléments grisés. La macro de sélection ne montre aucune macro non plus. J'ai également ajouté cette information à la question initialeDans la mesure où cette commande nécessite l'affichage d'une interface utilisateur, la tâche ne peut pas être exécutée en arrière-plan, ce qui est automatiquement le cas lorsque
Run whether user is logged on or not
sélectionné dans les propriétés de la tâche. Après avoir défini cette option, tout a fonctionné comme prévu:Pour que la tâche puisse être exécutée après un redémarrage du serveur, j'ai activé la connexion automatique avec cet outil .
la source