2013-06-04 3 views
0

Je travaille actuellement sur un service C# 2010 qui recueille un fichier texte à partir d'un dossier, crée un fichier Excel à partir de celui-ci et enregistre ce fichier. Les données txt sont correctement lues, traitées et les fichiers Excel sont stockés comme il se doit. Cependant, j'ai besoin d'ajouter des plages d'impression dans la feuille Excel. C'est ici que mon service renvoie une exception.Ajout d'une imprimante réseau au compte système en C#

Le problème est probablement qu'un service s'exécute sous le compte système. Comme une imprimante (qui n'est pas partagée) dépend de l'utilisateur, cela signifie que les imprimantes ne seront pas installées sur le compte système.

Pour mettre en œuvre ceci, comment puis-je faire cela? - Comment le service peut-il ajouter une imprimante au compte système? - Cela fonctionnerait-il avec l'imprimante Microsoft XPS? - Si cela ne peut pas être fait par l'imprimante XPS, comment puis-je ajouter une autre imprimante. Nous n'avons pas de serveur d'impression, donc tout le monde doit installer les pilotes localement pour l'imprimante réseau. Comment puis-je ajouter une imprimante (réseau) au compte système et utiliser le bon pilote?

Les fichiers Excel sont créés et imprimés à partir du même ordinateur. La création se trouve sous le compte système, en imprimant sous un compte d'utilisateur.

Merci d'avance !!!

Jan

Répondre

0

En fin de compte, je résolu le problème comme celui-ci:

Le fichier Excel:

  • J'ai créé un fichier Excel qui n'a pas de données en elle et une macro
  • La macro ne s'exécute que lorsqu'il y a des données dans la feuille (si la cellule x = vide, puis quittez le sous)
  • La macro définit les plages d'impression correctes

Le service:

  • service ouvre le fichier Excel
  • Ajoute les données
  • service enregistre une copie du fichier original (ce qui signifie le fichier d'origine reste intacte)

Pour des raisons de sécurité, il n'est pas vraiment recommandé de laisser le compte système ajouter une macro pour exceller (ce qui est tout à fait possible, mais vous devez modifier la sécurité par défaut d'Excel pour tous les utilisateurs). C'est pourquoi nous avons choisi d'utiliser un fichier Excel contenant une macro.

Questions connexes