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 :

Erreur dans le code (ouvrir document Word)


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 90
    Par défaut Erreur dans le code (ouvrir document Word)
    Bonjour,

    je suis débutante en VB.NET et j'ai écrit ce code pour simplement ouvrir un document Word mais il ne fonctionne pas. Est-ce que quelqu'un peut me dire où est l'erreur ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public Class Form1
     
        Dim WordApp As Word.Application
        Dim WordDoc As Word.Document
        Dim oW As Object
     
        Private Sub Button1_Click()
            WordApp = CreateObject("Word.Application")
            WordApp.Visible = True
            Process.Start("C:\Utilisateurs\lculot\exemple.doc")
        End Sub
     
     
    End Class

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 33
    Par défaut
    Essaie ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Button1_Click()
        Process.Start("C:\Utilisateurs\lculot\exemple.doc")
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant en BTS Informatique de Gestion
    Inscrit en
    Février 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant en BTS Informatique de Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 32
    Par défaut
    bonjour,

    sinon, moi j'utilise ça et ça marche très bien:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim doctrouve As Word.Document
                Dim app As Word.Application
                app = CreateObject("Word.Application")
                app.Visible = True
                doctrouve = app.Documents.Open(CType(Lstresult.Tag(Lstresult.SelectedIndex), Object))

  4. #4
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 90
    Par défaut
    Merci mais j'ai encore les erreurs suivantes :

    Dans "Dim oWord As Word.Application"
    Application est ambigu dans l'espace de nom "Microsoft.Office.Interop.Word"
    "Dim oDoc As Word.Document"
    Document est ambigu dans l'espace de nom "Microsoft.Office.Interop.Word"
    "Me.Close"
    erreur de syntaxe
    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
     
    Imports Word = Microsoft.Office.Interop.Word
     
    Public Class Form1
     
        Dim oWord As Word.Application
        Dim oDoc As Word.Document
     
        'Start word and open the document template
        oWord = CreateObject("Word.Application")
        oWord.Visible = True
     
     
        'Open a document
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Process.Start("C:\Utilisateurs\lculot\Exemple.docx")
        End Sub
     
        'Convert .docx to .doc
        Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
     
        End Sub
     
        'Replace a bookmark
        Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
            oDoc = oWord.Document.Add
            oWord.Documents.Add("C:\Cartolink Desktop\Urbanisme\Templates\Avis\AvisAgric.dot")
            oDoc.Bookmarks.Item("INITIALES").Range.Text = "LC"
        End Sub
     
        'All done. Close this form
         Me.Close()
     
    End Class

  5. #5
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim oWord As Microsoft.Office.Interop.Word.Application
    Dim oDoc As Microsoft.Office.Interop.Word.Document
     
    

    Sinon, le problème pourrait (mais j'y crois pas trop) venir du fait que
    plusieurs versions de Word sont installées sur le PC.

  6. #6
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 90
    Par défaut
    Merci mais ça ne change rien. Toujours les même erreurs et je n'ai que Word 2007 sur mon PC

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant en BTS Informatique de Gestion
    Inscrit en
    Février 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant en BTS Informatique de Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 32
    Par défaut
    as-tu bien importé la référence office et la référence word dans ton projet?

  8. #8
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 90
    Par défaut
    Oui, c'était bien un problème de référence qui était présente 2 fois

    J'ai améliorer un peu mon le code :

    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
    Imports Word = Microsoft.Office.Interop.Word
     
    Public Class Form1
     
        Dim oWord As Word.Application
        Dim oDoc As Word.Document
     
        'Open a document
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Try
                oWord = CreateObject("Word.Application")
                oWord.Visible = True
                oDoc = oWord.Document.Add
                'Process.Start("C:\Utilisateurs\lculot\Documents\Exemple.docx")
            Catch ex As Exception
                MessageBox.Show("Erreur lors de l'ouverture du document")
            End Try
        End Sub
    Mais à chaque fois que je le lance, j'ai la MessageBox qui se lance et jamais le document s'ouvre

    Pendant que j'y suis comment transforme-t-on un .dot en .docx ?

  9. #9
    Membre chevronné
    Homme Profil pro
    Caféinomane
    Inscrit en
    Septembre 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Caféinomane

    Informations forums :
    Inscription : Septembre 2011
    Messages : 202
    Par défaut
    Bonjour,

    Remplacez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oDoc = oWord.Document.Add
    Par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oDoc = oWord.Documents.Add()
    Pendant que j'y suis comment transforme t'on un .dot en .docx ?
    La méthode sauvage consiste à changer l'extension ".dot" ou ".dotx" en ".doc". Mais je ne crois pas que ça fonctionne avec les ".docx".

    Sinon je suppose qu'il faut ouvrir le ".dot" et l'enregistrer sous un document ".docx"

    Bizarre néanmoins comme besoin : pourquoi convertir un modèle de document en document ?

  10. #10
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 90
    Par défaut
    J'ai essayé ceci :
    - ouvrir un template
    - remplacer un bookmark par du texte
    - l'enregistrer
    mais j'ai à chaque fois la messagebox qui s'affiche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
       'Replace a bookmark
        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
            Try
                oWord = CreateObject("Word.Application")
                oWord.Visible = True
                oWord.Documents.Add("C:\Cartolink Desktop\Urbanisme\Templates\Avis\AvisIDEA.dot")
                oDoc.Bookmarks.Item("INITIALES").Range.Text = "LC"
                oWord.ActiveDocument.SaveAs("AvisIDEA.docx", "C:\Users\lculot\Documents\")
                Process.Start("C:\Users\lculot\Documents\AvisIDEA.docx")
            Catch ex As Exception
                MessageBox.Show("Impossible de remplacer le bookmark")
            End Try

  11. #11
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Il faudrait aussi afficher le message renvoyé dans l'exception, à savoir ex.Message.ToString().
    Et identifier quelle instruction gènére cette exception

  12. #12
    Membre expérimenté Avatar de AcidLines
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Février 2010
    Messages : 198
    Par défaut
    Bonjour

    Voici le code que j'utilise et qui fonctionne tres bien :
    En utilisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Imports Microsoft.Office.Interop.Word
    Déclaration globale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim AppWord As New Microsoft.Office.Interop.Word.Application
    Dim w As Microsoft.Office.Interop.Word.Document
    Code :
    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
     
     'Dim w As Microsoft.Office.Interop.Word.Document = AppWord.Documents.Add(modelPath.ToString)
            Try
                AppWord.ActivePrinter = My.Settings.printer
                nbCopieEtiquette = CInt(NUD_nbCopie.Value)
     
                For numEtiquette = CInt(TBX_finNumDep.Text) To CInt(TBX_finNumFin.Text) Step 1
                    For numCopie = 1 To CInt(NUD_nbCopie.Value) Step 1
                        If stopPrint = False Then
                            w = New Microsoft.Office.Interop.Word.Document
                            w = AppWord.Documents.Add(modelPath.ToString)
                            code25i = New CodeBarre.Code25i(debNum & CStr(numEtiquette))
     
                            w.Bookmarks("numEti").Range.Text = CStr(numEtiquette)
                            w.Bookmarks("dateEti").Range.Text = CStr(DTP_dateEdition.Value.ToString.Substring(0, 10))
                            w.Bookmarks("codabar").Range.Text = code25i.getAscii25i 'code25i .dot
                            w.Bookmarks("libNature").Range.Text = libNature
                            w.Bookmarks("codeEti").Range.Text = debNum & CStr(numEtiquette)
     
                            w.PrintOut(False, False)
                            Threading.Thread.Sleep(500)
     
                            w.Close(Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges)
                            nbEtiPrint = nbEtiPrint + 1
     
                        End If
                    Next
                Next
            Catch ex As Exception
                erreurBgWorker = ex.ToString
                stopPrint = True
            End Try
    Ce code me permet d'imprimer en boucle à partir d'un modèle .DOT comportant plusieurs signets. Impression d'étiquette code barre pour inventaire de matériel.

Discussions similaires

  1. Ouvrir document Word à partir d'un formulaire Access(code VBA)
    Par protocoleigrp dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/06/2009, 16h22
  2. Réponses: 1
    Dernier message: 18/12/2008, 23h24
  3. Ouvrir document word dans IE
    Par juli1_h dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 27/10/2008, 16h06
  4. Ouvrir document word dans IE
    Par juli1_h dans le forum Word
    Réponses: 7
    Dernier message: 22/08/2008, 09h28
  5. [VBA] Erreur dans un code. Hierarchie DAO.
    Par snoopy69 dans le forum VBA Access
    Réponses: 3
    Dernier message: 22/10/2005, 22h28

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