Comment Word 2013 peut-il être automatisé à partir d'un programme C # INTEROP / COM à l'aide du planificateur de tâches avec un utilisateur connecté et le bureau verrouillé?

StackOverflow https://stackoverflow.com//questions/23061324

Question

J'ai hérité d'un programme C # qui permettait d'automatiser la création d'un rapport quotidien sur Windows XP Pro SP3 à l'aide de PDFCreator 1.2.3, MapInfo Professional 11, Word 2003 et Excel 2003. Cette machine Win XP était dans un actif répertoire. Le domaine et le programme C # ont couru en tant qu'utilisateur de domaine (avec des autorisations administratives) avec l'utilisateur connecté et le bureau verrouillé. Word 2003 a été automatisé pour ouvrir un modèle, créer un document à partir du modèle et enregistrer le document - Tout de / sur une part de réseau. Excel 2003 a été utilisé pour ouvrir une feuille de calcul avec une table liée à une source de données ODBC et rafraîchir la table, tirant les nouvelles données dans la feuille de calcul. MapInfo a été utilisé pour générer des images de la carte à partir d'une DataSource ODBC. PDFCreator a été utilisé pour prendre la feuille de calcul, le document Word et les images et les mettre ensemble dans un rapport quotidien.

Alors que XP a atteint sa fin de vie, j'ai déplacé ce programme à une machine virtuelle Win 8.1 EE (dans le même domaine) et a installé Office 365 Produits (Word 2013 et Excel 2013) ainsi que PDFCreator 1.7.1 et MapInfo Professional 12 à utiliser pour automatiser la création de ce rapport quotidien. Ce programme fonctionne normalement lorsqu'il fonctionne manuellement sur la nouvelle machine virtuelle, mais échoue lorsque vous exécutez le même utilisateur qu'une tâche planifiée. Cette tâche planifiée est définie pour fonctionner avec les autorisations les plus élevées et exécuter si l'utilisateur n'est pas connecté.

Je me rends compte qu'il y a beaucoup de variables en jeu ici; Les O / S ont dû changer et nous n'utilisons plus l'ancienne version du bureau, je ne pouvais pas non plus obtenir des versions plus anciennes de PDFCreator ou MapInfo. Par conséquent, je concentrerai la question sur les choses que je peux contrôler. Je suis au courant de Les problèmes je fais face à cela, mais je ne suis pas clair sur ce que c'est ou non réellement possible à faire maintenant compte tenu de la nouvelle O / S et des applications (à savoir Word 2013 et Excel 2013) que j'ai été invité à essayer de le faire fonctionner.

Alors, la question est la suivante: Comment Word 2013 peut-il être automatisé à partir d'un programme C # Interop / COM à l'aide du planificateur de tâches pour exécuter le programme avec un utilisateur connecté et le bureau verrouillé?

Était-ce utile?

La solution 2

La réponse, j'ai trouvé, est-ce qu'une tâche telle que celle-ci est exécutée sur Windows XP Pro SP3 avec les options sélectionnées pour exécuter en tant qu'administrateur et pour exécuter si connecté ou non ne pouvait pas être utilisé avec le mêmeTâche / utilisateur / Autorisations sous Windows 8.1 EE.

La tâche a couru avec succès avec les options pour exécuter en tant qu'administrateur et exécuter si elle n'est pas connectée à ne pas être sélectionnée.

Pour quelqu'un d'autre migration de programmes / tâches héritées de Win XP lors de la décharge due à la fin de la vie, vous pouvez essayer de supprimer l'exécution en tant qu'administrateur et d'exécuter si elle n'est pas connectée aux options de la tâche de la nouvelle version dePlanificateur de tâches Windows.

Autres conseils

de Microsoft Docs - Considérations relatives à l'automatisation du bureau du serveur :

Toutes les versions actuelles de Microsoft Office ont été conçues, testées et Configuré pour exécuter des produits d'utilisateur final sur un poste de travail client. Ils Supposons un bureau interactif et un profil utilisateur. Ils ne fournissent pas le niveau de réentrancement ou de sécurité nécessaire pour rencontrer le besoins de composants côté serveur conçus pour fonctionner sans surveillance.

Microsoft ne recommande pas actuellement et ne prend pas en charge, Automatisation des applications Microsoft Office de tout sans surveillance, Application ou composant client non interactif (y compris ASP, Services ASP.NET, DCOM et NT), car le bureau peut exposer instable comportement et / ou impasse lorsque le bureau est exécuté dans cet environnement.

Je sais que cela ne répond pas à la question sur Office 365, mais je pense que cela est aussi proche que vous allez obtenir. Aussi, j'ai trouvé cet article: HOWTO: Configurez les applications de bureau à exécuter sous le compte d'utilisateur interactif .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top