ption explicite
CreateAutoMarkFile secondaire ()
Faible fld comme champ
Faible strText comme corde
Le faible RW comme rangée
Faible tbl comme Tableau
Faible bFound comme booléen
Faible Doc. comme Word.Document
Faible DocA comme document
Placer DocA = ActiveDocument
Placer Doc. = Documents.Add
Placer le tbl = le Doc. Tables.Add (Doc. Gamme, 1, 2)
Pour chaque fld dans DocA.Fields
Si fld. Type = wdFieldIndexEntry puis
strText = GetIndexText (fld)
bFound = faux
Pour le chaque RW dans le tbl. Rangées
Si GetCellText (RW. Cellules (1)) = strText alors
le bFound = rectifient
Sortir pour
Finir si
Le prochain RW
Sinon bFound alors
Si Len (tbl. Rows.Last.Range) = 6 puis
Placer le RW = le tbl. Rows.Last
Autrement
Placer le RW = le tbl. Rows.Add
Finir si
le RW. Cellules (1).Range.Text = strText
le RW. Cellules (2).Range.Text = strText
Finir si
Finir si
Prochain fld
doc.SaveAs « C:\MyFolder\MyAutoMark.doc »
Doc. wdDoNotSaveChanges étroits
DocA.Indexes.AutoMarkEntries « C:\MyFolder\MyAutoMark.doc »
Sous-marin d'extrémité
Fonction GetCellText (Cl comme Word.Cell) comme corde
Faible rng comme gamme
Placer le rng = le Cl. Gamme
wdCharacter de rng.MoveEnd, -1
GetCellText = rng. Texte
Fonction de fin
Fonction GetIndexText (fld comme Word.Field) comme corde
Faible p comme nombre entier
Faible q comme nombre entier
Faible strText comme corde
strText = fld. Code.Text
p = InStr (strText, """")
q = InStrRev (strText, """")
GetIndexText = Mid$ (strText, p + 1, q - p - 1)
Fonction de fin
|