Bonjour Forum
Le titre de cette nouvelle discussion a été déjà évoqué dans plusieurs forums mais je n'ai pas trouvé une liaison en rapport avec mon problème.
Le premier code ci-dessous fonctionnait correctement et ça fonctionne toujours dans la première application déployée.
,
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 L_Message.Text = "Extraction des données en cours..." Dim DocW As New Word.Application DocW = CreateObject("Word.Application") DocW.Documents.Open(DestinationFichier) L_Message.Text = "Début de traitement des données en cours..." 'information sur l'iepp With DocW.Selection.Find 'civilité iepp .ClearFormatting() .Text = "civiliteiepp" .Replacement.ClearFormatting() .Replacement.Text = Strings.StrConv(CivilitéIEPP, VbStrConv.ProperCase) .Execute(Replace:=Word.WdReplace.wdReplaceAll, Forward:=True, Wrap:=Word.WdFindWrap.wdFindContinue) End With L_Message.Text = "Champ Civilité modifié avec succès..."
Un matin j'ai décidé de nettoyer le code, et c'est là que je reçois le message de la référence...
J'ai décidé donc de modifier la ligne en instanciant un objet sur la classe Word.Document (Code Ci-dessous)
ça marchait également et j'ai pu imprimer quelques feuilles. Aujourd'hui, je décide de continuer le nettoyage et ERREUR, le même message de référence
D'après mes recherches, lorsqu'un objet est déclaré et vide, cela génère le message. Mais, dans mon cas, je doute que mes objets soient Nothing.
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 L_Message.Text = "Extraction des données en cours..." Dim DocW As New Word.Application Dim WordDoc As New Word.Document WordDoc = DocW.Documents.Open(DestinationFichier) L_Message.Text = "Début de traitement des données en cours..." 'information sur l'iepp With WordDoc.Content.Find 'civilité iepp .ClearFormatting() .Text = "civiliteiepp" .Replacement.ClearFormatting() .Replacement.Text = Strings.StrConv(CivilitéIEPP, VbStrConv.ProperCase) .Execute(Replace:=Word.WdReplace.wdReplaceAll, Forward:=True, Wrap:=Word.WdFindWrap.wdFindContinue) End With L_Message.Text = "Champ Civilité modifié avec succès..."
Merci de m'aider
Partager