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 :

manipulation de Word avec VB.Net


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2014
    Messages : 13
    Par défaut manipulation de Word avec VB.Net
    Bonjour à tous,

    Je procède actuellement à un dérouillage en règle de mes vieilles neurones usées ... exercice particulièrement éprouvant et me remplissant d'humilité...

    Je tente vainement de réaliser une petite application consistant à renseigner un formulaire contenant deux "Textbox", appelant à y intégrer le Nom et le Prénom d'une personne. Ceci fait, on valide ces données avec un Bouton "Valider".
    Cette validation va ouvrir un document Word, avec un chemin spécifique, où se trouvent dans le corps du document les deux signets à renseigner, comme ceci :

    Document Word (à l'adresse : C:\Users\greg\Desktop\DocumentProjetSimplifie.docx):

    Projet simplifié de remplissage de signets

    Nom : (emplacement du signetNom)
    Prénom : (emplacement du signetPrenom)



    J'ai donc créé mon formulaire "Form1", contenant 1 label 'Nom' et une Textbox + 1 label 'Prenom' et une autre Textbox et un bouton 'Valider'

    J'ai ensuite écrit le code suivant :

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    Option Strict On
    Imports Microsoft.Office.Interop
    Imports Microsoft.Office.Interop.Word
     
    Public Class Form1
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
     
        End Sub
     
        Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
            Dim ValeurNom As String
     
            ValeurNom = Me.TextBox1.Text
     
        End Sub
     
        Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
            Dim ValeurPrenom As String
     
            ValeurPrenom = Me.TextBox2.Text
        End Sub
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
     
            Dim oWord As New Word.Application
     
            oWord.Documents.Open(C:\Users\greg\Desktop\DocumentProjetSimplifie.docx)
            'Ouvrir un  document
            'oWord.Documents.Open("chemin document.doc")
            'rendre le document word visible
            oWord.Visible = True
            oWord.Selection.Bookmarks(SignetNom).Range.text = ValeurNom
     
            oWord.Selection.Bookmarks(SignetPrenom).Range.text = ValeurPrenom
     
     
     
            oWord.ActiveDocument.Close() 'on ferme le document
            oWord.Visible = False
            oWord.Quit() 'on ferme Word
        End Sub
     
    End Class
    Bref, à l'issue de l'écriture de ce code, qui me semblait pourtant suffisant pour ce que je cherchais à réaliser, VB.net me renvoie les mêmes erreurs suivante (La variable n'est pas déclarée. Il peut être inaccessible en raison de son niveau de protection) : pour 'SignetNom', 'ValeurNom', 'SignetPrenom' et 'ValeurPrenom' aux lignes oWord.Selection.Bookmarks...

    Quelqu'un pourrait-il m'aider à résoudre ce petit problème ?

    Grég

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2014
    Messages : 13
    Par défaut
    Bonjour,

    Je reviens vers tout le monde car j'ai un peu avancé...
    Je n'ai plus d'erreur (avant débogage). Par contre, à l'exécution du programme, un message apparaît avant la fermeture du document Word :
    " L'exception COMException n'est pas gérée."

    Ainsi donc, à l'exécution :
    1) Mon formulaire Nom Prenom apparaît correctement et me demande un Nom puis un Prénom.

    2) Je peux valider en cliquant sur le Bouton 'Valider'

    3) Une petite fenêtre s'ouvre : DocumentSimplifie.docx est vérouillé pour modification par 'greg'.
    Voulez=vous :
    a) Ouvrir une copie en lecture seule
    b) Créer une copie locale et fusionner les modifications ultérieurement
    c) Recevoir une notification quand la copie d'origine est disponible.

    Ne sachant pas, je clique sur la première.

    4) Le document DocumentSimplifie.docx s'ouvre mais affiche 'Lecture seule Ce document est verrouillé pour modification par un autre utilisateur'

    5) Je ferme 'manuellement' le document et je me retrouve dans le code avec :
    " L'exception COMException n'est pas gérée."

    Voilà...Donc plus d'erreur dans la fenêtre d'erreurs mais pas de résultats pour autant ...

    J'envoie le nouveau code à la suite et je vous remercie par avance si vous pouviez m'aider à résoudre mon problème.

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Option Strict On
    Option Explicit On
    Imports Microsoft.Office.Interop
    Imports Microsoft.Office.Interop.Word
     
    Public Class FormNomPrenom
        Dim ValeurNom As String
        Dim ValeurPrenom As String
        Dim SignetNom As Bookmark
        Dim signetPrenom As Bookmark
     
        Private Sub FormNomPrenom_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
     
        End Sub
     
        Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
            ValeurNom = Me.TextBox1.Text
     
        End Sub
     
        Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
            ValeurPrenom = Me.TextBox2.Text
        End Sub
     
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            Dim oWord As New Word.Application
     
     
            oWord.Documents.Open("C:\Users\greg\Desktop\DocumentProjetSimplifie.docx")
     
            oWord.Visible = True
            oWord.Selection.Bookmarks(SignetNom).Range.Text = "ValeurNom"
     
            oWord.Selection.Bookmarks(signetPrenom).Range.Text = ValeurPrenom
     
     
     
            oWord.ActiveDocument.Close()
            oWord.Visible = False
            oWord.Quit()
        End Sub
     
    End Class

    Merci, Grég

Discussions similaires

  1. Manipuler MS-Word avec un script Tcl
    Par steph_1 dans le forum Tcl/Tk
    Réponses: 3
    Dernier message: 02/09/2014, 14h51
  2. Créer un document Word avec ASP.Net
    Par Coroebus dans le forum ASP.NET
    Réponses: 1
    Dernier message: 02/03/2013, 13h44
  3. [VB.NET] Formulaire word a remplir avec vb.net
    Par Monster77 dans le forum Windows Forms
    Réponses: 15
    Dernier message: 16/08/2011, 14h22
  4. Insertion tableau sur Word avec VB.net
    Par minisu dans le forum VB.NET
    Réponses: 2
    Dernier message: 15/03/2011, 09h47
  5. Réponses: 0
    Dernier message: 22/02/2010, 13h05

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