Word стиль перекрестных ссылок

Часто в тексте документа необходимо отметить, где находится объект связанный с конкретным текстом. Например, «Схему подсоединения водопроводного крана смотри на рисунке 10». То есть нам необходимо сделать ссылку на рисунок. Если в документе 5 рисунков, то можно и вручную подсчитать. А если рисунков 25? Ещё хуже, если собираем один большой документ из нескольких тоже немаленьких документов. Вот тут на помощь придёт Перекрестная ссылка.

Понять и запомнить! Перекрестная ссылкаэто ссылка на элемент, который находится в другой части документа, например, «См. Рис 1.» или «См. пункт 3.1».

Можно создать перекрестные ссылки на следующие элементы:

  1. Абзац
  2. Заголовок
  3. Закладка (познакомимся с понятием Закладка позже)
  4. Сноска (познакомимся с понятием Сноска позже)
  5. Концевая сноска (познакомимся с понятием Концевая сноска позже)
  6. Названия объектов

По окончании урока вы сможете:

  1. Задать перекрёстную ссылку на Название таблицы
  2. Задать перекрёстную ссылку на Название рисунка
  3. Обновить поле «Перекрёстная ссылка»

Если вы правильно сделали документ по итогам Урока 30, то откройте этот документ. Но можете воспользоваться этой ссылкой: Скачайте документ тут. Откройте документ. Поскольку работы со стилями на этом уроке не будет, то я закрыла область задач Стили.

1. Перекрестная ссылка на Название таблицы

Вы обратили внимание, что по тексту документа встречаются выражения «(см. )»? Я подготовила место для перекрестной ссылки.

Перекрестная ссылка

Шаг 1. Поставим курсор в месте предполагаемой перекрестной ссылки:

Перекрестная ссылка

Шаг 2. Открываем диалоговое окно «Перекрёстные ссылки» (Лента Ссылки →группа команд Названия → кнопка Добавить перекрестную ссылку):

Перекрестная ссылка

На всякий случай я покажу, как выглядит эта кнопка в полноэкранном режиме:

Перекрестная ссылка

Появляется диалоговое окно:

  1. На какой фрагмент будет организована перекрёстная ссылка? Из выпадающего меню определяем тип перекрёстной ссылки. Перекрестную ссылку можно сделать на абзац, заголовок, закладку, сноску, рисунок, таблицу и т.д.
  2. Что из себя будет представлять ссылка? Например, «номер страницы». Значит ссылка будет иметь вид номера страницы, на которой находится фрагмент. Или «текст абзаца». В этом случае перекрестная ссылка будет полностью повторять текст выбранного фрагмента.

На уроке 30 я рассказала вам, что такое Поле. Перекрестная ссылка – это тоже Поле. Например, текст «см. рис. 15» является перекрёстной ссылкой на название рисунка 15 , т.е. щелчок ЛМ по перекрестной ссылке отправляет нас непосредственно к названию рисунка. Если название рисунка 15 меняет номер по каким-то причинам, то перекрестная ссылка на этот рисунок тоже меняет номер. Причем, не важно в каком месте документа находится данный рисунок.

Понять и запомнить! Перекрестные ссылки используются для навигации по документу.
Перекрестная ссылка

Шаг 3. Устанавливаем в диалоговом окне Перекрёстная ссылка следующие значения:

  1. Тип ссылки – таблица
  2. Вставить ссылку на – «Постоянная часть и номер» (зачем нам всё название целиком?), а что такое Постоянная часть и что такое номер см. Урок 29
  3. Вставить как гиперссылку – оставляем
  4. Для какого названия – выбираем Таблица 1. Виды нормативных актов (список всех названий таблиц программа составляет автоматически на основе имеющихся в документе названий таблиц, если мы, разумеется вставляли название при помощи диалогового окна «Вставить название», см. Урок 29)
Перекрестная ссылка

Шаг 4. После установок нужных нам значений нажимаем кнопку «Вставить»:

Кнопка Отмена превратилась в копку Закрыть.

Шаг 5. Нажимаем кнопку Закрыть

Перекрестная ссылка

Итак, в выбранном месте появилась постоянная часть и номер выбранного названия таблицы:

Пройдитесь по документу и в нужных местах расставьте перекрёстные ссылки на названия таблицы. Алгоритм действий такой:

  1. Поставьте курсор в нужном месте (руководствуйтесь подсказкой «(см. )»)
  2. Откройте диалоговое окно «Перекрёстные ссылки» (лента Ссылки → группа команд Названия → кнопка Добавить перекрёстную ссылку
  3. Выберите тип ссылки – таблица
  4. Вставьте ссылку на – «Постоянная часть и номер»
  5. Выберите название таблицы, на которое организуется Перекрёстная ссылка
  6. Нажмите кнопку Вставить
  7. Нажмите кнопку Закрыть
Перекрестная ссылка

Например:

2. Перекрёстная ссылка на Название рисунка

Перекрестная ссылка

Шаг 1. Поставим курсор в месте предполагаемой перекрёстной ссылки:

Перекрестная ссылка

Шаг 2. Вызываем диалоговое окно «Перекрестные ссылки» (Лента Ссылки →группа команд Называния → кнопка Добавить перекрестную ссылку:

Появляется диалоговое окно «Перекрестные ссылки».

Перекрестная ссылка

Шаг 3. Устанавливаем в диалоговом окне «Перекрестная ссылка» следующие значения:

Шаг 4. После установок нужных нам значений нажимаем кнопку «Вставить»

Шаг 5. Нажимаем кнопку Закрыть

Перекрестная ссылка

И вот в выбранном месте появилась постоянная часть и номер выбранного названия рисунка:

Пройдитесь по документу и в нужных местах расставьте перекрёстные ссылки на Названия рисунков. Алгоритм действий такой:

  1. Поставьте курсор в нужном месте (руководствуйтесь подсказкой «(см. )»)
  2. Откройте диалоговое окно «Перекрёстные ссылки» (лента Ссылки → группа команд Названия → кнопка Добавить перекрёстную ссылку
  3. Выберите тип ссылки – «рисунок»
  4. Вставьте ссылку на – «Постоянная часть и номер»
  5. Выберите название рисунка, на которое организуется Перекрёстная ссылка
  6. Нажмите кнопку Вставить
  7. Нажмите кнопку Закрыть
Перекрестная ссылка

Например:

Понять и запомнить! Перекрёстная ссылка делается на название объекта, а не на сам объект

Я старалась по всему тексту неустанно повторять: Название таблицы, Название рисунка. Если вы удалите рисунок, а название объекта оставите, то ссылка будет работать как ни в чём не бывало.

А теперь самое время посмотреть, как будет работать перекрёстная ссылка.

3. Обновление поля «Перекрестная ссылка»

Поставим сразу сложную задачу. При работе с документом мы выяснили, что глава 5 на самом деле должна быть главой 2. Вспоминаем Урок 28, где мы познакомились с навигацией по заголовкам. Перейдите в начало документа (нажмите одновременно клавиши на клавиатуре Ctrl+Home)

Перекрестная ссылка

Шаг 1. Отрываем рабочую область Навигация. Лента Вид → группа команд Показ → флажковая кнопка Область навигации:

Перекрестная ссылка

Получаем такую картину:

Очень неудобно перемещать главы, так как в области Навигация показаны Заголовки второго уровня. В результате список всех заголовков получился длинным. Но на уроке 28 мы научились справляться с этой проблемой

Перекрестная ссылка

Шаг 2. В любом месте области задач Навигация щёлкаем ПМ и из контекстного меню выбираем команду Свернуть все:

Перекрестная ссылка

Получаем такую картину:

Сразу работать стало удобнее.

Перекрестная ссылка

Шаг 3. Перемещаем в области Навигация Главу 5 на второе место в списке (нажимаем ЛМ на название Главы 5 и, не отпуская левую клавишу мышки, перетаскиваем Главу 5 на второе место после главы 1):

Вы обратили внимание, что, как только мы нажали ЛМ по главе 5 в области Навигация, то курсор сразу перескочил на главу 5?

Перекрестная ссылка

Любуемся результатом:

Но вместе с главой 5 мы перетащили рисунок, который сохранил свой номер.

Перекрестная ссылка

Шаг 4. Выделяем весь документ одновременным нажатием клавиш с клавиатуры Ctrl+A и нажимаем функциональную кнопку F9, в результате чего появляется уже знакомое окно:

  • Отмечаем радиоточку «обновить целиком»
  • Нажимаем ОК

Не пугайтесь, если окно «Обновление списка иллюстраций» выскочит во второй раз. Ведь у нас два списка иллюстраций: перечень рисунков и перечень таблиц.

Перекрестная ссылка

Любуемся результатом:

И название рисунка поменяло свою нумерацию, и перекрёстная ссылка «отработала» это изменение. Можете пройти по всему документу и убедиться, что нумерация рисунков и таблиц обновилась, также обновились перечни рисунков и таблиц.

Теперь вы сможете:

  1. Задать перекрёстную ссылку на Название таблицы
  2. Задать перекрёстную ссылку на Название рисунка
  3. Обновить поле «Перекрёстная ссылка»

Добавляйте названия объектов, меняйте главы местами, объединяйте документы в единый документ – вам теперь не страшно! Функциональная кнопка F9 вас никогда не подведёт!

Word для Microsoft 365 Word 2021 Word 2019 Word 2016 Word 2013 Word 2010 Word 2007 Еще…Меньше

С помощью перекрестной ссылки можно создать связь с другой частью документа. Например, можно использовать перекрестную ссылку для связи с диаграммой или рисунком, который находится в другом месте документа. Перекрестная ссылка имеет вид ссылки, по которой пользователь может перейти к целевому элементу.

Если вы хотите создать связь с другим документом, создайте гиперссылку.

Сначала создайте элемент, на который должна указывать ссылка

Невозможно создать перекрестную ссылку на несуществующий объект, поэтому сначала убедитесь в том, что у вас уже есть диаграмма, заголовок, номер страницы или другой элемент, на который она будет указывать. В диалоговом окне для вставки перекрестной ссылки будут перечислены все элементы, на которые она может указывать. На рисунке ниже показан пример.

Диалоговое окно "Перекрестная ссылка" в Word

Вставьте перекрестную ссылку

  1. В документе введите текст, который начинает перекрестную ссылку. Например, на рисунке 2 вы можете найти пояснение к восходящей тенденции.

  2. На вкладке Вставка выберите команду Перекрестная ссылка.

    Лента Word с выделенным элементом "Перекрестная ссылка"

  3. В поле Тип ссылки щелкните раскрывающийся список, чтобы выбрать тип элемента, на который будет указывать ссылка. Список возможных вариантов зависит от типа элемента (заголовок, номер страницы и т. п.), с которым нужно создать связь.

    Диалоговое окно "Перекрестная ссылка" с указанием типов ссылок

  4. В поле Добавить ссылку на выберите сведения, которые нужно вставить в документ. Набор доступных вариантов зависит от того, что вы выбрали на шаге 3.

    Варианты вставки ссылок в список

  5. В поле Для какого… выберите конкретный элемент, на который должна указывать перекрестная ссылка.

  6. Чтобы разрешить пользователям переходить к элементу, на который указывает ссылка, установите флажок Вставить как гиперссылку.

    Диалоговое окно "Перекрестная ссылка" с выделенным флажком гиперссылки

  7. Если флажок Добавить слово «выше» или «ниже» активен, установите его, чтобы включить относительное положение целевого элемента.

  8. Нажмите кнопку Вставить.

Перекрестные ссылки вставляются в виде полей

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

Если вы вставили перекрестную ссылку и она похожа на {REF _Ref249586 * MERGEFORMAT}, word отображает коды полей вместо результатов полей. При печати документа или скрытие кодов полей их результаты заменяют коды полей. Чтобы вместо кодов полей видеть их результаты, нажмите клавиши ALT+F9 или щелкните код поля правой кнопкой мыши и выберите в меню пункт «Коды полей».

Используйте главный документ

Если вам нужно создать перекрестные ссылки на элементы, которые находятся в отдельном документе, но вы не хотите использовать гиперссылки, то сначала объедините документы в один главный документ, а затем добавьте перекрестные ссылки. Главный документ — это контейнер для набора отдельных файлов (вложенных документов). Его можно использовать для создания документа, состоящего из нескольких частей (например, книги с несколькими главами), и работы с ним.

Нужна дополнительная помощь?


Больше нечего добавить, я бы хотел сразу изменить стиль всех перекрестных ссылок, которые есть в документе Word 2007. Но я понятия не имею, как это сделать. Как это может быть сделано?





Ответы:


Некоторые типы перекрестных ссылок автоматически форматируются в стиле «интенсивная ссылка», но большинство форматируются как «обычный» текст.

Чтобы применить стиль «интенсивная ссылка» к тексту перекрестной ссылки:

  • выберите текст
  • выберите вкладку «Главная» на ленте
  • с помощью кнопок «вверх» или «вниз» в группе «Стили» на ленте выберите стиль «интенсивная ссылка» (или другой стиль, если хотите)

Чтобы изменить внешний вид всего текста данного стиля:

  • выберите вкладку «Главная» на ленте
  • используя кнопку раскрывающегося списка в группе «Стили», выберите «Применить стили …»
  • в диалоговом окне «Применить стили» под «Имя стиля» выберите название стиля, который вы хотите изменить (например, «интенсивная ссылка»)
  • Нажмите кнопку «Изменить …»
  • Измените форматирование в соответствии с вашими предпочтениями и нажмите «ОК»

Чтобы применить стиль ко всем перекрестным ссылкам одновременно:

  • Нажмите Alt+, F9чтобы показать коды полей
  • Выберите вкладку «Главная» на ленте
  • Нажмите «Заменить» в группе «Редактирование»
  • В поле «Найти что» введите ^19 REF
    • (Это Caret-One-девять-Space-REF)
  • Нажмите в поле «Заменить», но ничего не вводите
  • Нажмите кнопку «Еще»
  • Нижняя часть диалога должна называться «Заменить» (с горизонтальным правилом после него)
  • Нажмите кнопку «Формат» и выберите «Стиль …»
  • Выберите стиль (например, «Интенсивная ссылка») и нажмите «ОК».
  • Теперь должен отображаться стиль, выбранный вами в поле «Заменить»
  • Нажмите «Заменить все», если вы чувствуете себя смелым, или используйте «Найти далее» и «Заменить», чтобы пройти и заменить или пропустить стиль кода каждого ссылочного поля по отдельности.
  • Нажмите Alt+, F9чтобы скрыть коды полей

Смотрите эту страницу для получения дополнительной информации о специальных кодах в Find and Replace.

Вот макрос, который добавит переключатель * mergeformatв каждое из полей. Этот переключатель необходим для предотвращения потери форматирования при обновлении поля. Вы можете назначить макрос на нажатие клавиши, и он будет проходить по полям по одному за каждый раз, когда вы нажимаете клавишу. Вы также можете отредактировать макрос, чтобы зациклить весь документ для автоматизации процесса.

Sub mf()
'
' mf Macro
' Find cross references and add * mergeformat
'
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "^19 REF"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Selection.MoveLeft Unit:=wdCharacter, Count:=1
    Selection.TypeText Text:="* mergeformat "
    Selection.Find.Execute
End Sub







  • Нажмите Alt+, F9чтобы показать коды полей
  • Используйте следующий макрос, чтобы добавить CHARFORMAT ко всем перекрестным ссылкам. Этот макрос добавляет строку в поле, только если ее там еще нет.

    Sub SetCHARFORMAT()
    '
    ' Set CHARFORMAT switch to all {REF} fields. Replace MERGEFORMAT.
    '
    '
        Dim oField As Field
        Dim oRng As Range
        For Each oField In ActiveDocument.Fields
        'For Each oField In Selection.Fields
            If InStr(1, oField.Code, "REF ") = 2 Then
                If InStr(1, oField.Code, "MERGEFORMAT") <> 0 Then
                    oField.Code.Text = Replace(oField.Code.Text, "MERGEFORMAT", "CHARFORMAT")
                End If
                If InStr(1, oField.Code, "CHARFORMAT") = 0 Then
                    oField.Code.Text = oField.Code.Text + "* CHARFORMAT "
                End If
            End If
        Next oField
    
    
    End Sub
  • Используйте этот макрос для форматирования всех перекрестных ссылок со стилем «Тонкая ссылка» (убедитесь, что у вас есть такой стиль, и что отображаются коды полей):

    Sub SetCrossRefStyle()
    '
    ' Macro to set styole of all cross references to "Subtle Reference"
    '
    '
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        Selection.Find.Replacement.Style = ActiveDocument.Styles( _
            "Subtle Reference")
        With Selection.Find
            .Text = "^19 REF"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchCase = False
            .MatchWholeWord = False
            .MatchKashida = False
            .MatchDiacritics = False
            .MatchAlefHamza = False
            .MatchControl = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
    End Sub
  • Нажмите Alt+, F9чтобы скрыть коды полей


редактируя макрос, загруженный киборгом, мы можем легко автоматизировать показ и скрытие кодов полей. так что каждый раз, когда мы хотим обновить, нам не нужно использовать коды полей переключения. Я использовал следующий код для добавления переключателя кода поля.

ActiveDocument.ActiveWindow.View.ShowFieldCodes = False

Полный макрос выглядит следующим образом:

Sub SetCrossRefStyle()
'
' Macro to set styole of all cross references to "Subtle Reference"
'
'
ActiveDocument.ActiveWindow.View.ShowFieldCodes = True
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Style = ActiveDocument.Styles( _
    "Subtle Reference")
With Selection.Find
    .Text = "^19 REF"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
    .Format = True
    .MatchCase = False
    .MatchWholeWord = False
    .MatchKashida = False
    .MatchDiacritics = False
    .MatchAlefHamza = False
    .MatchControl = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
ActiveDocument.ActiveWindow.View.ShowFieldCodes = False
End Sub

Это первый раз, когда я использую макросы, чтобы ускорить мою работу в слове. спасибо киборг за такой полезный макрос.


Быстрый и эффективный способ:

  1. Выделите текст с форматированием, которое вы хотите использовать для ссылок.
  2. Выберите вкладку « Главная » на ленте.
  3. Щелкните правой кнопкой мыши стиль Normal и выберите « Обновить Normal», чтобы соответствовать выбору .
  4. Ссылки Update с Ctrl+ A, F9.

Этот макрос открывает диалоговое окно Перекрестная ссылка для вставки перекрестной ссылки в текущей позиции курсора.

Когда вы закрываете диалоговое окно Xref после вставки ссылки, макрос возобновляет форматирование вставленной перекрестной ссылки в верхний индекс.

Sub XrefSuper()
'
' This opens the Cross Reference dialogue box to insert a cross reference at the current cursor position.
'   When the dialogue box is closed after inserting the reference the macro resumes to format the inserted cross reference to superscript.
'
'
Dim wc As Integer
    wc = ActiveDocument.Characters.Count

Dim dlg As Dialog
    Set dlg = Dialogs(wdDialogInsertCrossReference)
        dlg.Show 'Open dialogue and perform the insertion from the dialog box) 
                 'Macro continues after closing CrossRef dialogue box

    If wc = ActiveDocument.Characters.Count Then Exit Sub   'If we failed to insert something then exit

    Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
    Selection.Font.Superscript = wdToggle
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Selection.Font.Superscript = wdToggle
End Sub

Спасибо Грэму Скану в ExpertsExchange за то, как открыть диалог Xref.


Объединение приведенных выше ответов с другой функцией позволяет циклически просматривать «истории» документа, применять стили к телу документа, верхним и нижним колонтитулам и тексту для фигур.

Просто вызовите макрос SetCrossRefStyle () ниже, чтобы применить стиль «Интенсивная ссылка» ко всем перекрестным ссылкам.

Sub m_SetCHARFORMAT(textRanges As Collection)
' https://superuser.com/questions/13531/is-it-possible-to-assign-a-specific-style-to-all-cross-references-in-word-2007
'
' Set CHARFORMAT switch to all {REF} fields. Replace MERGEFORMAT.
' Requires ActiveDocument.ActiveWindow.View.ShowFieldCodes = True
'
    Dim oField As Field
    Dim oRng As Range
    For Each oRng In textRanges
        For Each oField In oRng.Fields
            If InStr(1, oField.Code, "REF ") = 2 Then
                If InStr(1, oField.Code, "MERGEFORMAT") <> 0 Then
                    oField.Code.Text = Replace(oField.Code.Text, "MERGEFORMAT", "CHARFORMAT")
                End If
                If InStr(1, oField.Code, "CHARFORMAT") = 0 Then
                    oField.Code.Text = oField.Code.Text + "* CHARFORMAT "
                End If
            End If
        Next oField
    Next oRng
End Sub


Sub m_AddCrossRefStyle(textRanges As Collection)
' https://superuser.com/questions/13531/is-it-possible-to-assign-a-specific-style-to-all-cross-references-in-word-2007
'
' Macro to set style of all cross references to "Intense Reference"
' Requires ActiveDocument.ActiveWindow.View.ShowFieldCodes = True
'
    For Each oRng In textRanges
        oRng.Find.ClearFormatting
        oRng.Find.Replacement.ClearFormatting
        oRng.Find.Replacement.Style = ActiveDocument.Styles("Intense Reference")
        With oRng.Find
            .Text = "^19 REF"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchCase = False
            .MatchWholeWord = False
            .MatchKashida = False
            .MatchDiacritics = False
            .MatchAlefHamza = False
            .MatchControl = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        oRng.Find.Execute Replace:=wdReplaceAll
    Next oRng
End Sub


Function m_GetAllTextRanges() As Collection
' https://wordmvp.com/FAQs/Customization/ReplaceAnywhere.htm
' https://www.mrexcel.com/forum/excel-questions/443052-returning-collection-function.html
'
' Get text ranges in all document parts.
'
    Set m_GetAllTextRanges = New Collection
    For Each rngStory In ActiveDocument.StoryRanges
        'Iterate through all linked stories
        Do
            m_GetAllTextRanges.Add rngStory
            On Error Resume Next
            Select Case rngStory.StoryType
                Case 6, 7, 8, 9, 10, 11
                If rngStory.ShapeRange.Count > 0 Then
                    For Each oShp In rngStory.ShapeRange
                        If oShp.TextFrame.HasText Then
                            m_GetAllTextRanges.Add oShp.TextFrame.TextRange
                        End If
                    Next
                End If
                Case Else
                    'Do Nothing
            End Select
            On Error GoTo 0
            'Get next linked story (if any)
            Set rngStory = rngStory.NextStoryRange
        Loop Until rngStory Is Nothing
    Next
End Function

Sub SetCrossRefStyle()
'
' 1. Get all text ranges since Selection.Find only works on document body, but not on headers/footers
' 2. Add CHARFORMAT to make styling persistent
' 3. Add styling to all references
'
    Dim textRanges As Collection
    Set textRanges = m_GetAllTextRanges
    ActiveDocument.ActiveWindow.View.ShowFieldCodes = True
    m_SetCHARFORMAT textRanges
    m_AddCrossRefStyle textRanges
    ActiveDocument.ActiveWindow.View.ShowFieldCodes = False
End Sub

Больше нечего добавить, я бы хотел сразу изменить стиль всех перекрестных ссылок, которые есть в документе Word 2007. Но я понятия не имею, как это сделать. Как это может быть сделано?

Некоторые типы перекрестных ссылок автоматически форматируются с использованием стиля «интенсивная ссылка», но большинство форматируются как «обычный» текст.

Чтобы применить стиль «интенсивная ссылка» к тексту перекрестной ссылки:

  • выберите текст
  • выберите вкладку «Главная» на ленте
  • с помощью кнопок «вверх» или «вниз» в группе «Стили» на ленте выберите стиль «интенсивная ссылка» (или другой стиль, если хотите)

Чтобы изменить внешний вид всего текста данного стиля:

  • выберите вкладку «Главная» на ленте
  • используя кнопку выпадающего меню в группе «Стили» на ленте, выберите «Применить стили …»
  • в диалоговом окне «Применить стили» под «Имя стиля» выберите название стиля, который вы хотите изменить (например, «интенсивная ссылка»)
  • Нажмите кнопку «Изменить …»
  • Измените форматирование в соответствии с вашими предпочтениями и нажмите «ОК»

Чтобы применить стиль ко всем перекрестным ссылкам одновременно:

  • Нажмите Alt+F9, чтобы показать коды полей
  • Выберите вкладку «Главная» на ленте
  • Нажмите «Заменить» в группе «Редактирование»
  • В поле «Найти что» введите ^19 REF
    • (Это Caret-One-девять-Space-REF)
  • Нажмите в поле «Заменить», но ничего не вводите
  • Нажмите кнопку «Еще»
  • Нижняя часть диалога должна называться «Заменить» (с горизонтальным правилом после него)
  • Нажмите кнопку «Формат» и выберите «Стиль …»
  • Выберите стиль (например, «Интенсивная ссылка») и нажмите «ОК».
  • Теперь должен отображаться стиль, выбранный вами в поле «Заменить»
  • Нажмите «Заменить все», если вы чувствуете себя смелым, или используйте «Найти далее» и «Заменить», чтобы пройти и заменить или пропустить стиль кода каждого ссылочного поля по отдельности.
  • Нажмите Alt+F9, чтобы скрыть коды полей

Смотрите эту страницу для получения дополнительной информации о специальных кодах в Find and Replace.

Вот макрос, который добавит переключатель * mergeformat к каждому из полей. Этот переключатель необходим для предотвращения потери форматирования при обновлении поля. Вы можете назначить макрос на нажатие клавиши, и он будет перемещаться по полям по одному за каждый раз, когда вы нажимаете клавишу. Вы также можете отредактировать макрос, чтобы зациклить весь документ для автоматизации процесса.

Sub mf()
'
' mf Macro
' Find cross references and add * mergeformat
'
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "^19 REF"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Selection.MoveLeft Unit:=wdCharacter, Count:=1
    Selection.TypeText Text:="* mergeformat "
    Selection.Find.Execute
End Sub

изменён Dennis Williamson77k

ответ дан Dennis Williamson77k

  • Нажмите Alt+ F9, чтобы показать коды полей
  • Используйте следующий макрос, чтобы добавить CHARFORMAT ко всем перекрестным ссылкам. Этот макрос добавляет строку в поле, только если ее там еще нет.

    Sub SetCHARFORMAT()
    '
    ' Set CHARFORMAT switch to all {REF} fields. Replace MERGEFORMAT.
    '
    '
        Dim oField As Field
        Dim oRng As Range
        For Each oField In ActiveDocument.Fields
        'For Each oField In Selection.Fields
            If InStr(1, oField.Code, "REF ") = 2 Then
                If InStr(1, oField.Code, "MERGEFORMAT") <> 0 Then
                    oField.Code.Text = Replace(oField.Code.Text, "MERGEFORMAT", "CHARFORMAT")
                End If
                If InStr(1, oField.Code, "CHARFORMAT") = 0 Then
                    oField.Code.Text = oField.Code.Text + "* CHARFORMAT "
                End If
            End If
        Next oField
    
    
    End Sub
    
  • Используйте этот макрос для форматирования всех перекрестных ссылок со стилем «Тонкая ссылка» (убедитесь, что у вас есть такой стиль, и что отображаются коды полей):

    Sub SetCrossRefStyle()
    '
    ' Macro to set styole of all cross references to "Subtle Reference"
    '
    '
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        Selection.Find.Replacement.Style = ActiveDocument.Styles( _
            "Subtle Reference")
        With Selection.Find
            .Text = "^19 REF"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchCase = False
            .MatchWholeWord = False
            .MatchKashida = False
            .MatchDiacritics = False
            .MatchAlefHamza = False
            .MatchControl = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
    End Sub
    
  • Нажмите Alt+ F9, чтобы скрыть коды полей

редактируя макрос, загруженный киборгом, мы можем легко автоматизировать показ и скрытие кодов полей. так что каждый раз, когда мы хотим обновить, нам не нужно использовать коды полей переключения. Я использовал следующий код для добавления переключателя кода поля.

ActiveDocument.ActiveWindow.View.ShowFieldCodes = False

Полный макрос выглядит следующим образом:

Sub SetCrossRefStyle()
'
' Macro to set styole of all cross references to "Subtle Reference"
'
'
ActiveDocument.ActiveWindow.View.ShowFieldCodes = True
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Style = ActiveDocument.Styles( _
    "Subtle Reference")
With Selection.Find
    .Text = "^19 REF"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
    .Format = True
    .MatchCase = False
    .MatchWholeWord = False
    .MatchKashida = False
    .MatchDiacritics = False
    .MatchAlefHamza = False
    .MatchControl = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
ActiveDocument.ActiveWindow.View.ShowFieldCodes = False
End Sub

Это первый раз, когда я использую макросы, чтобы ускорить мою работу в слове. спасибо киборг за такой полезный макрос.

ответ дан Jaykrushna patel21

Быстрый и эффективный способ:

  1. Выделите текст с форматированием, которое вы хотите использовать для ссылок.
  2. Выберите вкладку « Главная » на ленте.
  3. Щелкните правой кнопкой мыши по стилю Normal и выберите Update Normal, чтобы соответствовать выбору.
  4. Обновите ссылки с помощью Ctrl + A, F9.

Этот макрос открывает диалоговое окно Перекрестная ссылка для вставки перекрестной ссылки в текущей позиции курсора.

Когда вы закрываете диалоговое окно Xref после вставки ссылки, макрос возобновляет форматирование вставленной перекрестной ссылки в верхний индекс.

Sub XrefSuper()
'
' This opens the Cross Reference dialogue box to insert a cross reference at the current cursor position.
'   When the dialogue box is closed after inserting the reference the macro resumes to format the inserted cross reference to superscript.
'
'
Dim wc As Integer
    wc = ActiveDocument.Characters.Count

Dim dlg As Dialog
    Set dlg = Dialogs(wdDialogInsertCrossReference)
        dlg.Show 'Open dialogue and perform the insertion from the dialog box) 
                 'Macro continues after closing CrossRef dialogue box

    If wc = ActiveDocument.Characters.Count Then Exit Sub   'If we failed to insert something then exit

    Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
    Selection.Font.Superscript = wdToggle
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Selection.Font.Superscript = wdToggle
End Sub

Спасибо Грэму Скану в ExpertsExchange за то, как открыть диалог Xref.

The simplest thing to do is to insert the reference manually.

When you insert a cross-reference to a Figure, etc. Word inserts a hidden bookmark to «cover» the portion of the caption that you want to appear in your reference, then uses a REF field to insert the cross-reference text.

The Insert Cross Reference dialog does not allow you to select either just the number part of the Caption number, or the number + following text, but you can insert your own bookmark manually and reference that.

So for example, if you have

Figure 1.1 Description

and you want a cross-reference that shows

1.1 Description

then

Select the text 1.1 Description in the caption.

Use the Insert tab->Links dropdown->Bookmark button to insert a bookmark. Let’s say you call it bmabc

Click where you want the cross-reference to appear.

Click ctrl-F9 (Windows desktop Word) to insert a pair of the special field code brace characters { } (You can’t just type them on the keyboard).

Between then, type REF bmabc, so you have

{ REF bmabc }

Use Alt-F9 as needed to toggle between «field code» and «field result» view. Select the field and press F9 to update its value as needed.

If you want the bookmark to be hidden, its name should start with an underscore, e.g. _bmabc. If you want the cross-reference to be hyperlinked, put h after the bookmark name, so you have

{ REF bmabc h }

If you just want to have a reference to the number, bookmark the number part instead (incidentally, you will probably notice that in the example you give, the number consists oftwo field codes with a «.» in between. But you do the same thing — select the two field codes and the «.» and insert a bookmark.

If you need both types of cross-reference, you can create two bookmarks and make references to them.

Because Word uses bookmarks to mark the areas it will use in a cross-reference, it is quite easy to damage the cross-references, e.g. if you type some extra text and a paragraph mark and push the word «Description to a new paragraph, any bookmark Word inserting while creating a cross-reference will likely cover the caption paragraph and the new paragraph. So you have to re-insert the cross-reference (or you could reinsert the bookmark). It’s the same for cross-references that you create manually.

As an aside, a difference between cross-references to Captions and cross-references to, say, Headings, is that the latter are usually numbered using Word’s automatic numbering features, whereas captions are numbered using field codes. Selecting the parts of an automatic numbering scheme is not so easy, which is probably why Word offers more cross-referencing options for those kind of numbered items.

Как известно, популярный редактор Microsoft Office поддерживает добавление и редактирование гиперссылок, для выделения которых используется синий подчеркнутый шрифт. Но это по умолчанию, при желании же вы можете изменить форматирование гиперссылок, выбрав другой шрифт, изменив его цвет и тип подчеркивания. Все необходимые для этого средства доступны в блоке «Шрифт» на вкладке «Главная».

Но этот способ хорош только в тех случаях, когда нужно изменить форматирование одной или двух ссылок.

Другое дело, когда ссылок много, в таком случае имеет смысл изменить стиль для всех линков в документе. Но для начала можно попробовать следующие решение, возможно, вас он вполне устроит. Предположим, у вас есть документ с 10 ссылками, стиль которых вы хотите изменить. Необязательно изменять вид каждой ссылки, досточно проделать это с одной ссылкой, после чего скопировать стиль и перенести его на другие линки.

Копирование стиля в Word

Всё очень просто. Отредактировав ссылку, установите на нее курсор и нажмите в блоке «Буфер обмена» кнопку «Формат по образцу», в результате чего стиль ссылки будет скопирован во внутренний буфер. Затем перетащите видоизменившийся курсор на ссылку, которую хотите изменить и кликните по ней — ссылка получит скопированный стиль. Аналогичным образом перенесите стиль на другие ссылки. Если ссылка состоит из нескольких слов, вместо одиночного клика используйте выделение с зажатой левой кнопкой мыши.

Буфер обмена

Изменение шаблона стиля ссылок

Если хотите использовать новый стиль ссылок на постоянной основе, задайте его в настройках редактора. На вкладке «Главная» в блоке «Стили», в правом нижнем углу нажмите импровизированную кнопку-стрелку, чтобы открыть окно со списком стилей.

Кнопка-стрелка

Выберите в последнем стиль «Гиперссылка», кликните справа от него по кнопке-треугольнику и выберите в меню опцию «Изменить».

Гиперссылка

В открывшемся окне настроек задайте нужные вам параметры форматирования и сохраните настройки. Обратите при этом внимание, что стиль может быть сохранен только для текущего документа и для всех документов, использующих данный шаблон.

Изменение стиля

То есть, если вы хотите, чтобы ссылки имели новый стиль в новых документах, выбирайте второй вариант.

Загрузка…

Время на прочтение
4 мин

Количество просмотров 47K

image

Каждый из нас знает, насколько MS Word удобный инструмент для подготовки небольших документов. И каждый из тех, кто сталкивался с подготовкой документа, количество страниц в котором превышает сотню (плюс необходимо придерживаться строгих требований к форматированию), знает об основных недостатках этого инструмента. Мне пришлось в своей жизни столкнуться с версткой 500 страничного документа, причем количество и расположение рисунков таблиц и формул в нем постоянно менялось от версии к версии. Я бы хотел поделиться своими «лайфхаками», которые мне пришлось применить при верстке этого документа. Некоторые из них мне подсказали друзья; на некоторые наткнулся на форумах; некоторые придумал сам.

Эти простые хитрости помогут вам при верстке диссертации дипломной работы или отчета.

В данной статье рассмотрены решения проблем:

  • создание списка литературы
  • Склонения перекрёстных ссылок на рисунки таблицы и формулы
  • Перенос таблиц на новую страницу
  • Вставка формул

Список литературы

Когда дело доходит до подготовки кандидатской диссертации, список литературы резко становится больной темой. Форматировать список по ГОСТ 7.0.5–2008 вручную становится очень тяжело. Самые продвинутые пользователи знают, что можно сделать список литературы в виде нумерованных абзацев с закладками, на которые в тексте можно делать перекрестные ссылки и в несложных случаях добиваться желаемого. Но при большом списке источников ручные и полуавтоматические методы работают все хуже и хуже. Также продвинутые пользователи знают, что в Word можно делать библиографии, но не по ГОСТу, присутствует несколько «американских» стилей. Слава богу на просторах интернета мне попался det-random с его самописным стилем который умеет формировать список литературы по ГОСТ 7.0.5–2008, нумеровать ссылки в тексте по порядку упоминания и различать формат для англоязычных и русскоязычных источников Страница проекта на гитхабе: gost-r-7.0.5-2008.

Список литературы будет выглядеть следующим образом:

image

Склонение перекрёстных ссылок

Одна из основных проблем в том, что MS Word не умеет склонять перекрестные ссылки. Это является результатом того, что в германских языках отсутствуют склонения. Microsoft Office — это американская программа, поэтому американцам не надо, чтобы была ситуация, когда нужно учитывать склонение слов по падежам. Иногда это может привести к забавным результатам, например, «На Рисунок 1.1. представлено…», «В Таблица 5.4 рассматривается…» или «С учетом Формула (2.2) …» и т. д. Решить эту проблему можно следующим образом.

Название рисунка вставляется стандартными средствами.

Вставка рисунка: Вставка->Ссылка->Название->Подпись (рисунок).

image

Подпись к рисунку обычно имеет следующий вид:

Рисунок {STYLEREF 1 s} {SEQ Рисунок * ARABIC}

Где первое поле в фигурных скобках ссылается на номер главы, а второе — это уникальное значение счётчика количества рисунков. Ссылка на рисунок, таблицу или формулу вставляется с помощью инструмента «Перекрестная ссылка».

image

Вставляется, естественно, «Рисунок 1.1». Затем выделяем часть вставленного текста, а именно «Рисунок», делаем ее скрытой (тоже самое можно сделать через меню Формат -> Шрифт). Потом дописывается перед номером слово в нужном падеже. При обновлении поля скрытая часть текста остается скрытой.

image

Перенос таблиц

Согласно многим требованиям, если таблица переносится на другую страницу, то заголовок на продолжении должен повторять название таблицы, а иногда необходимо приписывать к названию таблицы слово «продолжение», т. е. быть вида: «Название таблицы… Продолжение». Но ни одна версия MS Word не вставляет новый заголовок в разорванную таблицу.

Для решения этой проблемы придумал следующий трюк. Я добавляю еще оду строку в самое начало таблицы и объединяю все ячейки в ней, затем делаю невидимыми границы, после чего вставляю название таблицы. И уже затем делаю повтор этой ячейки при переносе на другую страницу.

Причем слово «продолжение» закрываю белым прямоугольником в цвет страницы без границ. Выглядит это примерно так, волнистыми линями обозначены невидимые границы.

Результат будет выглядеть примерно так. При переносе отобразится первые 2 строки, одна из которых — это название таблицы, а вторая — название колонок.

image

Ниже представлен образец VBA кода для создания заголовка таблицы:

Sub Table_head()
 Dim myTable As Word.Table
 Selection.InsertRowsAbove 1
 Set myTable = Selection.Tables(1)
    myTable.Cell(1, 1).Merge MergeTo:=myTable.Cell(1, myTable.Columns.Count)
    With myTable.Cell(1, 1)
        .Borders(wdBorderTop).Color = wdColorWhite
        .Borders(wdBorderRight).Color = wdColorWhite
        .Borders(wdBorderLeft).Color = wdColorWhite
     
    End With
  
    Selection.TypeText ("Таблица ")
    Selection.Style = ActiveDocument.Styles("Название таблицы")
    Selection.Range.Fields.Add Selection.Range, Type:=wdFieldEmpty, Text:="STYLEREF 1 s", PreserveFormatting:=False
    Selection.TypeText (".")
    Selection.Range.Fields.Add Selection.Range, Type:=wdFieldEmpty, Text:="SEQ Таблица * ARABIC", PreserveFormatting:=False
End Sub

Формулы

Формулы лучше вставлять в таблицу с невидимыми границами с одной строкой и двумя столбцами. Делаю это с помощью макроса и в итоге получаю таблицу, в первом столбце которой по центру стоит надпись: «Место для формулы,», а во втором — по центру находятся круглые скобки. В первый столбец заношу формулу, во второй с помощью команды «Название» ее номер. Ссылаюсь на формулу с помощью команды «Перекрестная ссылка» и получаю при этом номер формулы в круглых скобках (ячейка таблицы воспринимается программой как новая строка).

image

Образец вставки VBA кода для вставки формулы представлен ниже.

Sub formula()
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=1, NumColumns:=2
        Selection.Tables(1).Columns(1).Width = CentimetersToPoints(14)
        Selection.Tables(1).Columns(2).Width = CentimetersToPoints(2.5)   
        Selection.Tables(1).Cell(1, 1).Range.Text = "Место для формулы/уравнения"
        Selection.Style = ActiveDocument.Styles("Формулы и уравнения")
        Selection.MoveRight Unit:=wdCell, Count:=1
        Selection.Style = ActiveDocument.Styles("Формулы и уравнения")
        Selection.TypeText ("(")
        Selection.Range.Fields.Add Selection.Range, Type:=wdFieldEmpty, Text:="STYLEREF 1 s", PreserveFormatting:=False
        Selection.TypeText (".")
        Selection.Range.Fields.Add Selection.Range, Type:=wdFieldEmpty, Text:="SEQ Формула * ARABIC", PreserveFormatting:=False
        Selection.TypeText (")")
End Sub

Надеюсь, эти простые трюки будут вам полезны.

больше нечего добавить, хотелось бы изменить стиль всех перекрестные ссылки у меня в документе Word 2007 и сразу. Но я понятия не имею, как это сделать. Как это может быть сделано?

источник

некоторые типы перекрестных ссылок автоматически форматируются со стилем» интенсивная ссылка», но большинство из них форматируются как» обычный » текст.

применить стиль» интенсивная ссылка » к тексту перекрестной ссылки:

  • выделение текста
  • выберите вкладку «Главная» на ленте
  • используя кнопки вверх-вниз или кнопку раскрывающегося списка в группе «стили» ленты, выберите стиль «интенсивная ссылка» (или другой стиль, Если вы prefer)

изменить внешний вид всего текста заданного стиля:

  • выберите вкладку «Главная» на ленте
  • в выпадающем кнопку в «стили» группы на ленте выберите «применить стили…»
  • в диалоговом окне «применить стили» в разделе «Имя стиля» выберите имя стиля, который вы хотите изменить (например, «интенсивная ссылка»)
  • Нажмите кнопку «Изменить»…»button
  • изменить форматирование, чтобы удовлетворить вас и нажмите кнопку «OK»

применить стиль ко всем перекрестным ссылкам сразу:

  • пресс Alt+F9 показать коды полей
  • выберите вкладку «Главная» на ленте
  • нажмите «заменить» в группе «редактирование»
  • в поле» найти что » введите ^19 REF
    • (это каретка-один-девять-пространство-R-E-F)
  • Нажмите в поле «заменить на», но не вводите ничего
  • Нажмите кнопку «Дополнительно»
  • нижняя часть диалогового окна должна иметь название «заменить» (с горизонтальным правилом после него)
  • Нажмите кнопку «Формат» и выберите » стиль…»
  • выберите стиль (например, «интенсивная ссылка») и нажмите OK
  • теперь он должен показать стиль, выбранный в поле «заменить на»
  • Нажмите кнопку «Заменить все», если вы чувствуете себя храбрым или использовать «найти следующий» и «заменить», чтобы пройти через и замените или пропустите стиль каждого ссылочного кода поля по отдельности
  • пресс Alt+F9 скрыть коды полей

See на этой странице для получения дополнительной информации о специальных кодах в разделе Поиск и замена.

вот макрос, который добавит переключатель * mergeformat для каждого поля. Этот параметр необходим для предотвращения потери форматирования при обновлении поля. Вы можете назначить макрос на нажатие клавиши, и он будет шаг через поля по одному за каждый раз, когда вы нажимаете клавишу. Можно также отредактировать макрос, чтобы выполнить цикл по всему документу для автоматизации процесса.

Sub mf()
'
' mf Macro
' Find cross references and add * mergeformat
'
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "^19 REF"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Selection.MoveLeft Unit:=wdCharacter, Count:=1
    Selection.TypeText Text:="* mergeformat "
    Selection.Find.Execute
End Sub

источник

  • пресс Alt+F9 показать коды полей
  • используйте следующий макрос для добавления CHARFORMAT во все перекрестные ссылки. Этот макрос добавляет строку в поле, только если она еще не существует.

    Sub SetCHARFORMAT()
    '
    ' Set CHARFORMAT switch to all {REF} fields. Replace MERGEFORMAT.
    '
    '
        Dim oField As Field
        Dim oRng As Range
        For Each oField In ActiveDocument.Fields
        'For Each oField In Selection.Fields
            If InStr(1, oField.Code, "REF ") = 2 Then
                If InStr(1, oField.Code, "MERGEFORMAT") <> 0 Then
                    oField.Code.Text = Replace(oField.Code.Text, "MERGEFORMAT", "CHARFORMAT")
                End If
                If InStr(1, oField.Code, "CHARFORMAT") = 0 Then
                    oField.Code.Text = oField.Code.Text + "* CHARFORMAT "
                End If
            End If
        Next oField
    
    
    End Sub
    
  • используйте этот макрос для форматирования всех перекрестных ссылок со стилем» тонкая ссылка » (убедитесь, что у вас есть такой стиль, и что показаны коды полей):

    Sub SetCrossRefStyle()
    '
    ' Macro to set styole of all cross references to "Subtle Reference"
    '
    '
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        Selection.Find.Replacement.Style = ActiveDocument.Styles( _
            "Subtle Reference")
        With Selection.Find
            .Text = "^19 REF"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchCase = False
            .MatchWholeWord = False
            .MatchKashida = False
            .MatchDiacritics = False
            .MatchAlefHamza = False
            .MatchControl = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
    End Sub
    
  • пресс Alt+F9 чтобы скрыть коды полей

отвечен cyborg 2018-10-29 01:50:28

источник

редактирование макроса, загруженного киборгом, мы можем легко автоматизировать отображение и скрытие кодов полей. так что каждый раз, когда мы хотим обновить мы не должны использовать коды переключения полей. Я использовал следующий код для добавления переключателя кода поля.

ActiveDocument.ActiveWindow.View.ShowFieldCodes = False

полный макрос выглядит следующим образом:

Sub SetCrossRefStyle()
'
' Macro to set styole of all cross references to "Subtle Reference"
'
'
ActiveDocument.ActiveWindow.View.ShowFieldCodes = True
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Style = ActiveDocument.Styles( _
    "Subtle Reference")
With Selection.Find
    .Text = "^19 REF"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
    .Format = True
    .MatchCase = False
    .MatchWholeWord = False
    .MatchKashida = False
    .MatchDiacritics = False
    .MatchAlefHamza = False
    .MatchControl = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
ActiveDocument.ActiveWindow.View.ShowFieldCodes = False
End Sub

это первый раз, когда я использую макросы для ускорения работы в word. спасибо киборгу за такой полезный макрос.

источник

быстрый и эффективный способ:

  1. Выделите текст с форматированием, который вы хотите использовать для ссылки.
  2. выберите Home вкладка на ленте.
  3. щелкните правой кнопкой мыши на нормальный стиль и выберите обновление нормальное для матча отбора.
  4. обновить ссылки с Ctrl + на,F9.

отвечен Evgeny 2013-02-08 15:10:39

источник

этот макрос открывает диалоговое окно перекрестная Ссылка для вставки перекрестной ссылки в текущую позицию курсора.

при закрытии диалогового окна Внешняя ссылка после вставки ссылки макрос возобновляет форматирование вставленной перекрестной ссылки на верхний индекс.

Sub XrefSuper()
'
' This opens the Cross Reference dialogue box to insert a cross reference at the current cursor position.
'   When the dialogue box is closed after inserting the reference the macro resumes to format the inserted cross reference to superscript.
'
'
Dim wc As Integer
    wc = ActiveDocument.Characters.Count

Dim dlg As Dialog
    Set dlg = Dialogs(wdDialogInsertCrossReference)
        dlg.Show 'Open dialogue and perform the insertion from the dialog box) 
                 'Macro continues after closing CrossRef dialogue box

    If wc = ActiveDocument.Characters.Count Then Exit Sub   'If we failed to insert something then exit

    Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
    Selection.Font.Superscript = wdToggle
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Selection.Font.Superscript = wdToggle
End Sub

спасибо Грэм скан из ExpertsExchange как открыть диалог внешней ссылки.

отвечен TJH 2018-10-29 01:51:26

источник

Like this post? Please share to your friends:
  • Word стиль нумерованный список
  • Word стиль названия рисунка
  • Word стиль знака это
  • Word стиль заголовок в таблице
  • Word стиль для таблицы