Bonjour à tous
je souhaite accéder à des shapes qui sont dans un Word existant pour modifier leur contenu. Le problème c'est qu'on ne peut pas les renommer sous Word. J'ai donc fais une boucle For Each pour les trouver à partir de leur contenu
Voici mon code (simplifié):
Le problème c'est que VB plante sur la ligne "For Each Sh In .ActiveDocument.Shapes" en affichant :"erreur d’exécution '13': incompatibilité de type"
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 Sub EditWord() Dim WordApp As Word.Application Dim WordDoc As Word.Document Dim WordFile As String 'Spécifie le chemin d'accès WordFile = MyDir & "\WordFile.docx" Set WordApp = CreateObject("Word.Application") 'Affiche Word WordApp.Visible = True 'Ouvre le document Set WordDoc = WordApp.Documents.Open(WordFile) .Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=2 WordApp.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocumen Dim Sh As Shape With WordApp For Each Sh In .ActiveDocument.Shapes .ActiveDocument.Shapes(Sh.Name).Select If .Selection.Text = "blabla" Then .Selection.Text = "blablablabla" End If Next Sh End With End sub
J'ai recherché la solution sur plusieurs forums mais sans succès
Merci d'avance de votre aide
Partager