Борис, вы меня опередили )
Я как раз обновлял шаблон, и хотел тут поместить исправление, что поиск надо выполнять назад, иначе поля LISTNUM будут преобразовываться неправильно!
В моем варианте, в одной процедуре нужно такое исправление (две новых сточки):
Sub ПреобразоватьПолеВТекст(strText)
' Преобразование полей определенного типа в обычный текст
' вход: текст для поиска, типа strText = "^d REF"
Selection.EndKey Unit:=wdStory ' переходим в конец документа, иначе LISTNUM не преобразовать!
ActiveWindow.View.ShowFieldCodes = True
Selection.Find.ClearFormatting
With Selection.Find
.Text = strText ' текст для поиска
.Replacement.Text = ""
.Forward = False ' надо поиск делать назад, иначе LISTNUM не преобразовать!
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
If Selection.Find.Execute = True Then
Selection.Fields.Unlink
Selection.MoveRight Unit:=wdCharacter, Count:=1
End If
Do Until Selection.Find.Execute = False
Selection.Fields.Unlink
Selection.MoveRight Unit:=wdCharacter, Count:=1
Loop
ActiveWindow.View.ShowFieldCodes = False
Selection.MoveLeft Unit:=wdCharacter, Count:=1
End Sub
Мой шаблон/макросы для автоматической нумерации Word 2003, 2007, 2010 и т.д. (стили, названия, перекрестные ссылки, LISTNUM). Делюсь: http://vk.com/club_alex_bir