Manipulation d'un document Word avec VB.Net

Résolu
gregml Messages postés 89 Date d'inscription samedi 17 mai 2014 Statut Membre Dernière intervention 16 juin 2017 - 17 juin 2014 à 18:03
gregml Messages postés 89 Date d'inscription samedi 17 mai 2014 Statut Membre Dernière intervention 16 juin 2017 - 19 juin 2014 à 10:36
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 :


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

12 réponses

gregml Messages postés 89 Date d'inscription samedi 17 mai 2014 Statut Membre Dernière intervention 16 juin 2017
17 juin 2014 à 18:09
J'ai cliqué sur je ne sais quel bouton et cela m'a immédiatement enregistré ma question sans que je n'ai pu terminé mon explication.
Bref, à l'issue de l'écriture de ce code, qui me semblait pourtant suffisant pour ce que je cherchais à réaliser, VB.net :
1) me renvoie à la ligne "oWord.Documents.Open (C:\Users\greg\Desktop\DocumentProjetSimplifie.docx) que C n'est pas déclaré. Il peut être inaccessible en raison de son niveau de protection.

2) De même, il me renvoie les mêmes erreurs pour 'SignetNom', 'ValeurNom', 'SignetPrenom' et 'ValeurPrenom' aux lignes oWord.Selection.Bookmarks...

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

Merci, Grég
0