ption точное
Sub CreateAutoMarkFile ()
Тусклое fld как поле
Тусклое strText как шнур
Тусклый rw как рядок
Тусклое tbl как таблица
Тусклое bFound как булевско
Тусклый doc как Word.Document
Тусклое DocA как документ
Установите DocA = ActiveDocument
Установите doc = Documents.Add
Установите tbl = doc. Tables.Add (doc. Ряд, 1, 2)
Для каждого fld в DocA.Fields
Если fld. Тип = wdFieldIndexEntry после этого
strText = GetIndexText (fld)
bFound = ложно
Для каждого rw в tbl. Рядки
Если GetCellText, то (rw. Клетки (1)) = strText после этого
bFound = True
Выходите для
Закончитесь если
Следующий rw
Если не bFound после этого
Если Len (tbl. Rows.Last.Range) = 6 после этого
Установите rw = tbl. Rows.Last
Еще
Установите rw = tbl. Rows.Add
Закончитесь если
rw. Клетки (1).Range.Text = strText
rw. Клетки (2).Range.Text = strText
Закончитесь если
Закончитесь если
Следующее fld
doc.SaveAs «C:\MyFolder\MyAutoMark.doc»
doc. Близкие wdDoNotSaveChanges
DocA.Indexes.AutoMarkEntries «C:\MyFolder\MyAutoMark.doc»
Подводная лодка конца
Функция GetCellText (cl как Word.Cell) как шнур
Тусклое rng как ряд
Установите rng = cl. Ряд
wdCharacter rng.MoveEnd, -1
GetCellText = rng. Текст
Функция конца
Функция GetIndexText (fld как Word.Field) как шнур
Тусклый p как интежер
Тусклый q как интежер
Тусклое strText как шнур
strText = fld. Code.Text
p = InStr (strText, """")
q = InStrRev (strText, """")
GetIndexText = Mid$ (strText, p + 1, q - p - 1)
Функция конца
|