1

Тема: Поиск и замена поля PAGEREF с ключем \h на REF с ключем \n

(WORD-2007) Помогите, как макросом сделать поиск и замену всех полей PAGEREF в документе с ключем \h (с сохранением указателей (закладок)) на поле REF с ключем \n?

Отредактировано Gorden (10.03.2010 14:46:01)

2

Re: Поиск и замена поля PAGEREF с ключем \h на REF с ключем \n

Ничего лучше, чем перебор полей в  лоб, я не придумал:

Sub ChangePageRefToRef()
  Dim oFld As Field
  For Each oFld In ActiveDocument.Content.Fields
    If oFld.Type = wdFieldPageRef Then
      oFld.Code.Text = Replace(oFld.Code.Text, "PAGEREF", "REF")
      oFld.Code.Text = Replace(oFld.Code.Text, " \h ", " \n ")
    End If
  Next
  MsgBox "Замена завершена", vbOKCancel + vbInformation, "Замена полей"
End Sub

Хотя, может быть можно сделать и простым поиском и заменой.

Лучше день потерять — потом за пять минут долететь!

3

Re: Поиск и замена поля PAGEREF с ключем \h на REF с ключем \n

Спасибо, попробую завтра вставить в шаблон, а  "ручками" попробовал так:
1) Включить в настройках экрана видимость скрытого текста;
2) Выделить все;
3) Включить Коды полей правой кнопкой мыши;
4) Найти PAGEREF и заменить на REF; (Ок)
5) Найти \h и заменить на \n; (Ок)
6) Обновить поля (F9). (Ок - все получилось)
Макрос хотел сделать, выделить все получается.. а дальше - не реагирует на клик правой кнопкой мыши, чтоб открыть коды  полей sad .

4

Re: Поиск и замена поля PAGEREF с ключем \h на REF с ключем \n

не нужно искать сложных путей. Вот ваши действия, только в виде макроса:

  ActiveWindow.View.ShowFieldCodes = True
  ActiveDocument.Range.Find.Execute "PAGEREF", True, True, ReplaceWith:="REF", Replace:=wdReplaceAll
  ActiveDocument.Range.Find.Execute "\h", True, True, ReplaceWith:="\n", Replace:=wdReplaceAll
  ActiveWindow.View.ShowFieldCodes = False
  ActiveDocument.Fields.Update
Лучше день потерять — потом за пять минут долететь!

5

Re: Поиск и замена поля PAGEREF с ключем \h на REF с ключем \n

Спасибо, все работает!

6

Re: Поиск и замена поля PAGEREF с ключем \h на REF с ключем \n

Подскажите, пожалуйста, где можно прочитать про эти поля (какую-нить подробную обстоятельную статейку, типа статьи про подстановочные знаки, что на вашем сайте)? Как вообще они называются правильно, чтобы информацию о них можно было найти?

7

Re: Поиск и замена поля PAGEREF с ключем \h на REF с ключем \n

Как это где? Здесь!

Лучше день потерять — потом за пять минут долететь!

8

Re: Поиск и замена поля PAGEREF с ключем \h на REF с ключем \n

В своё время вот это я искал.
На сайте Microsoft Office в разделе про Word 2003 есть справка по полям и ключам.