IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Word.Application.Documents.Open dans un service windows


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 109
    Par défaut Word.Application.Documents.Open dans un service windows
    Bonjour,

    dans un service windows je veux lancer l'application Word, pour cela je fais appel à la fonction Open:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    WordApp = New Word.Application
    WordApp.Visible = True
    MyDoc = WordApp.Documents.Open(CheminFile)
    MyDoc.Activate()
    le processus WINWORD.EXE est lancé et le service reste planté, si j'arrête le processus une exception de type ComException est lancé :

    System.Runtime.InteropServices.COMException (0x800706BE): Échec de l'appel de procédure distante. (Exception de HRESULT : 0x800706BE)
    sachant que le même code je l'ai testé dans une application WinForm et ça marche bien !

    la fonction open ne marche pas dans un service windows ?
    Merci.

  2. #2
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 109
    Par défaut
    je donne plus de détail si cela peut aider
    Voici ma fonction, celle ci ouvre un document modèle et le fusionne avec un fichier txt:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
            Dim WordAppli As Word.Application
            Dim MergeDoc As Word.Document
            Try
     
                Dim TemplateFile As Object = "chemin fichier doc"
                Dim DataSourceFile As Object = "chemin fichier txt"
                Dim ObjMiss As Object = System.Reflection.Missing.Value 'Type.Missing
                Dim OFalse As Object = False
                Dim OTrue As Object = True
     
                'Starting the Word Application
                WordAppli = New Word.Application
                WordAppli.Visible = False
                'Open the Template file
                MergeDoc = WordAppli.Documents.Open(TemplateFile)
                'Open the Data Source
                Dim DSFormat As Object = Word.WdOpenFormat.wdOpenFormatText
                MergeDoc.MailMerge.OpenDataSource(DataSourceFile, DSFormat, OFalse, ObjMiss, OTrue, OFalse, ObjMiss, ObjMiss, ObjMiss, ObjMiss, ObjMiss, ObjMiss, ObjMiss, ObjMiss, ObjMiss, ObjMiss)
                'Perform the Mail Merge
                MergeDoc.MailMerge.Destination = Word.WdMailMergeDestination.wdSendToPrinter
                MergeDoc.MailMerge.SuppressBlankLines = False
                MergeDoc.MailMerge.Execute(OFalse)
     
              Catch exCom As COMException
                ' traitement
            Catch ex As Exception
                'traitement
            Finally
                'Close the template document.
                If Not MergeDoc Is Nothing Then MergeDoc.Close()
                If Not WordAppli Is Nothing Then WordAppli.Quit()
                MergeDoc = Nothing
                WordAppli = Nothing
            End Try
    dans une winForm ce code marche très bien or dans le service windows, le service reste planté aucune exception n'est levée !!!!!

    dans ce même service windows j'ai testé la fonction add pour ajouter un document, et open pour modifier un existant : les deux marchent!

    je ne sais pas où se situe mon problème, est ce dans open ou dans l'appel à MailMerge ?

Discussions similaires

  1. [POO] Document.open dans IE7 ne marche plus ?
    Par jgfa9 dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 30/10/2008, 22h58
  2. WCF hébergé dans un service - Windows Vista
    Par Aurélien19 dans le forum Windows Communication Foundation
    Réponses: 3
    Dernier message: 11/10/2008, 14h00
  3. DBexpress dans un service windows
    Par jmmazie dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 30/09/2008, 12h12
  4. lancement sqlloader dans un service Windows
    Par DrZoune dans le forum C#
    Réponses: 7
    Dernier message: 05/02/2008, 10h19
  5. Réponses: 5
    Dernier message: 28/12/2007, 09h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo