ption explícito
CreateAutoMarkFile secundario ()
Fld dévil como campo
strText dévil como secuencia
RW dévil como fila
Tbl dévil como tabla
bFound dévil como boleano
Doc. dévil como Word.Document
DocA dévil como documento
Fijar DocA = ActiveDocument
Fijar doc. = Documents.Add
Fijar el tbl = doc. Tables.Add (doc. Gama, 1, 2)
Para cada fld en DocA.Fields
Si fld. Tipo = wdFieldIndexEntry entonces
strText = GetIndexText (fld)
bFound = falso
Para cada RW en tbl. Filas
Si GetCellText (RW. Células (1)) = strText entonces
el bFound = verdad
Salir para
Terminar si
RW siguiente
Si no bFound entonces
Si Len (tbl. Rows.Last.Range) = 6 entonces
Fijar RW = el tbl. Rows.Last
Fijar RW = el tbl. Rows.Add
Terminar si
RW. Células (1).Range.Text = strText
RW. Células (2).Range.Text = strText
Terminar si
Terminar si
Fld siguiente
doc.SaveAs “C:\MyFolder\MyAutoMark.doc”
doc. wdDoNotSaveChanges cercanos
DocA.Indexes.AutoMarkEntries “C:\MyFolder\MyAutoMark.doc”
Submarino del extremo
Función GetCellText (cl como Word.Cell) como secuencia
Rng dévil como gama
Fijar el rng = el cl. Gama
wdCharacter de rng.MoveEnd, -1
GetCellText = rng. Texto
Función del final
Función GetIndexText (fld como Word.Field) como secuencia
P dévil como número entero
Q dévil como número entero
strText dévil como secuencia
strText = fld. Code.Text
p = InStr (strText, """")
q = InStrRev (strText, """")
GetIndexText = Mid$ (strText, p + 1, q - p - 1)
Función del final
|