У меня есть документ Word, который содержит около 4000 полей формы, которые я должен экспортировать впоследствии в базу данных. Дело в том, что ни в одном из 4000 полей нет информации в поле «Закладка», поэтому я не могу получить информацию, хранящуюся в них.
Я пытаюсь создать макрос, чтобы помочь процессу написания закладки (FormField.Name), но не могу сделать это правильно. Дело в том, что я хочу изменить имена FormFields, содержащиеся в выделении пользователя, и только их. Мне удалось прийти к этому решению:
Sub Macro2()
Dim myFile As String
Dim fnum As Integer
Dim sFileText As String
Dim currentField As FormField
myFile = "c:\testMacro.txt"
fnum = FreeFile()
Open myFile For Input As fnum
For Each currentField In Selection.FormFields
Input #fnum, sFileText
With currentField
.StatusText = sFileText
.OwnStatus = True
End With
currentField.Select
Application.WordBasic.FormFieldOptions Name:=sFileText
Next currentField
End Sub
Но это не работает, потому что объект Selection изменяется в цикле For Each, а затем содержит только первое FormField выделения.
Итак, вот мой вопрос, есть ли способ сохранить текущий выбор и загрузить его после его изменения.
Я пробовал:
Dim mySelection as Selection
Set mySelection = Selection
Но если я изменю Selection, переменная mySelection также изменится (что вполне нормально ...), и я не нашел способа клонировать объект.
У кого-нибудь есть идеи, как это сделать?
Спасибо