Bonjour,
Je souhaite remplacer une chaine de caractère dans l'en tête d'un document Word à partir de l'application développé sous Visual Studio 2019 en VB.net.
J'ai trouvé et rédigé le code suivant :
J'ai les erreurs suivantes :
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 Dim Chemin_BDD As FileInfo = My.Computer.FileSystem.GetFileInfo(Fichier_BDD) Dim Chemin_Word As String = Chemin_BDD.DirectoryName & "\" & TB_Numéro_Rapport.Text & " " & TB_Version_Rapport.Text & ".docx" File.WriteAllBytes(Chemin_Word, My.Resources.Trame) 'création du word Dim oW As Object ' Déclaration de la variable oW oW = CreateObject("Word.Application") ' Initialisation de la variable oW.Visible = False ' Accepter que Word apparaisse oW.Documents.Open(Chemin_Word, ReadOnly:=False) ' Ouverture du fichier 'Page 1 oW.Application.ActiveDocument.Content.Find.Execute(FindText:="<Numero_Protocole>", ReplaceWith:=TB_Numéro_Rapport.Text) 'Ca fonctionne 'En tete oW.Application.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader oW.Application.ActiveDocument.Content.Find.Execute(FindText:="<Numero_Protocole>", ReplaceWith:=TB_Numéro_Rapport.Text) oW.Application.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument oW.ActiveDocument.Save() ' Sauvegarde du document oW.Quit() ' Ferme Word
J'ai trouvé des codes pour remplacer les textes qui sont :Erreur BC30451 'wdSeekCurrentPageHeader' n'est pas déclaré. Il peut être inaccessible en raison de son niveau de protection.
Erreur BC30451 'wdSeekMainDocument' n'est pas déclaré. Il peut être inaccessible en raison de son niveau de protection.
wdSeekCurrentPageHeader --> 4,9 -->j'ai essayé avec 4.9 -->Erreur BC30205 Fin d'instruction attendue.wdSeekMainDocument --> 0 / Cela fonctionne avec cet entierSystem.Runtime.InteropServices.COMException : 'L'affichage demandé n'est pas disponible.'
Avez-vous une solution à me proposer pour corriger mes erreurs ou une solution totalement différente afin de me permettre de modifier l'en tête ?
Merci d'avance.
Partager