Je reçois une erreur d'exécution 91 sur le mot suivant VBA:VBA Word obtient une erreur d'exécution 91 avec l'aide Range.Find dans Word tête
Dim myStoryRange As Object
For Each myStoryRange In ActiveDocument.StoryRanges
With myStoryRange.find
.Text = "test to search"
.Replacement.Text = "text to replace"
.Wrap = wdFindContinue
.ClearFormatting
.Replacement.ClearFormatting
.Replacement.Highlight = False
.Execute replace:=wdReplaceAll
End With
Next myStoryRange
L'erreur se produit de manière incompatible sur environ la moitié des ordinateurs qui exécutent la macro.
Pensées?
suggestion Per j'ai changé PaTriCK le code à lire:
Dim myStoryRange As Range
For xStories = 1 To ActiveDocument.StoryRanges.Count
Set myStoryRange = ActiveDocument.StoryRanges.Item(xStories)
With myStoryRange.find
.Text = "[Client Name]"
.Replacement.Text = Client
.Wrap = wdFindContinue
.ClearFormatting
.Replacement.ClearFormatting
.Replacement.Highlight = False
.Execute replace:=wdReplaceAll
End With
Next xStories
Cela semble corriger l'erreur 91. Cependant, je suis toujours obtenir un résultat bizarre. Ce code échoue à la ligne 5 (avec myStoryRange.find) avec l'erreur "Le membre demandé de la collection n'existe pas" sur le deuxième élément de la collection.
Il échoue lorsqu'il existe un membre de la collection. En d'autres termes, il y a 7 xStories, il échoue sur xStories = 2. Et xStories = 2 est un élément complet avec toutes les propriétés référencées présentes. En tant que FYI, j'essaye de remplacer un peu de texte dans l'entête du document. Je reçois un échec sur un élément StoryRange qui se trouve dans l'en-tête, plutôt que dans le corps du document. Cela peut-il être le problème?
mes pensées ... vous n'avez pas inclus toutes les informations ... comme, quelle ligne obtient l'erreur? – jsotola
Vous ne devriez pas 'Dim myStoryRange As Range'? Vous devrez peut-être utiliser la boucle For avec 'ActiveDocument.StoryRanges.Count' et' Set myStoryRange = ActiveDocument.StoryRanges.Item (#) ' – PatricK
Si vous essayez de remplacer du texte dans l'en-tête, pourquoi ne pas choisir la plage que vous voulez avec quelque chose comme 'StoryRanges (wdPrimaryHeaderStory)' au lieu de boucler toutes les histoires? – xidgel