OVH Cloud OVH Cloud

parcours et changement de nom de signets au sein d'un même répertoire

1 réponse
Avatar
gbidon
Bonjour,
Voila, j'essaye de parcourir l'ensemble des signets de tous les
documents word d'un r=E9pertoire et de changer les noms de certains
selon certains crit=E8res de gestion.

Voici le code :

Sub ParcoursRepertoire()

Dim Fichier As String
Dim Chemin As String
Dim Signet
Dim i As Integer
Dim MonDoc As Word.Application
Set MonDoc =3D CreateObject("Word.Application")

Chemin =3D "D:\P2\test\"
Fichier =3D Dir(Chemin & "*.doc", vbNormal)
Do While Fichier <> ""

MonDoc.Documents.Open (Chemin & Fichier)

For Each Signet In MonDoc.ActiveDocument.Bookmarks

If Left(MonDoc.ActiveDocument.Bookmarks(Signet).Name, 1) =3D
"z" Or Left(MonDoc.ActiveDocument.Bookmarks(Signet).Name, 1) =3D "Z" Then
nom =3D MonDoc.ActiveDocument.Bookmarks(Signet).Name

If Right(nom, 4) =3D "0010" Then
nom =3D "a199" & Right(nom, 1)
Else
nom =3D "a" & Right(nom, 4)
End If

MonDoc.ActiveDocument.Bookmarks(Signet).Select
MonDoc.ActiveDocument.Bookmarks(Signet).Delete

With MonDoc.ActiveDocument.Bookmarks
.Add Range:=3DSelection.Range, Name:=3Dnom
.DefaultSorting =3D wdSortByLocation
.ShowHidden =3D False
End With
End If

Next Signet

MonDoc.Documents.Close
Fichier =3D Dir

Loop
End Sub

Le probl=E8me vient de ".Add Range:=3DSelection.Range, Name:=3Dnom"
Si j'execute le code sur un seul document ca marche.....sinon en
passant sur cette ligne j'obtiens l'erreur :
'Erreur d'execution 4128' type d'argument incorrect.

J'en perds mes cheveux !!
Si quelqu'un pouvait venir =E0 mon aide....merci d'avance

1 réponse

Avatar
Geo

Bonjour,
Voila, j'essaye de parcourir l'ensemble des signets de tous les
documents word d'un répertoire et de changer les noms de certains
selon certains critères de gestion.


Vous travaillez directement avec une macro Word ?
Si oui, votre code me parait compliqué, essayez de supprimer tout ce
qui concerne mondoc et de travailler directement avec activedocument.
Le createObjet ne sert à rien amha.

J'en perds mes cheveux !!
Tout dépend de l'âge,

ça devient un élément de séduction.


--
A+