1

Тема: Скрытие постоянной части перекрестной ссылки в макросе. Возможно?

Есть ли команды VBA позволяющие навсегда скрыть постоянную часть перекрестной ссылки?

Во время записи макроса в автоматическом режиме, ссылка навсегда скрывается применением стиля "!!Скрытый" (как я его назвал), но при выполнении макроса - уже не навсегда, а только до первого обновления.

У меня Word 2003 sp3. Постоянную часть ссылки получается скрыть навсегда только прямым применением стиля в окне "Стили и форматирование" либо в выпадающем списке "Стиль" на панели инструментов "Форматирование".

Мой шаблон/макросы для автоматической нумерации Word 2003, 2007, 2010 и т.д. (стили, названия, перекрестные ссылки, LISTNUM). Делюсь: http://vk.com/club_alex_bir

2

Re: Скрытие постоянной части перекрестной ссылки в макросе. Возможно?

У перекрёстной ссылки задан ключ \*MERGEFORMAT?

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

3

Re: Скрытие постоянной части перекрестной ссылки в макросе. Возможно?

При вставке новой перекрестной ссылки \*MERGEFORMAT не задается.
Видимо его нужно прописать с помощью макроса, включив ALT+F9 и т.д., но пока у меня не выходит. В ручную прописывать, понятное дело, не вариант.

Мой шаблон/макросы для автоматической нумерации Word 2003, 2007, 2010 и т.д. (стили, названия, перекрестные ссылки, LISTNUM). Делюсь: http://vk.com/club_alex_bir

4

Re: Скрытие постоянной части перекрестной ссылки в макросе. Возможно?

Вышло, спасибо за наводку. Я не знал про \*MERGEFORMAT, хотя видел его раньше, но никогда сам его не вставлял.

Мой шаблон/макросы для автоматической нумерации Word 2003, 2007, 2010 и т.д. (стили, названия, перекрестные ссылки, LISTNUM). Делюсь: http://vk.com/club_alex_bir

5

Re: Скрытие постоянной части перекрестной ссылки в макросе. Возможно?

Когда программно добавляете поле, то в методе Add есть необязательный параметр PreserveFormatting, он то и отвечает за сохранение форматирования при обновлении, добавляя к полю ключ \*MERGEFORMAT

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

6

Re: Скрытие постоянной части перекрестной ссылки в макросе. Возможно?

У меня есть еще идея с перекрестными ссылками, но для их использования нужно адаптировать следующий макрос к Word 2007:

Sub Г_01_ссылка_рис()
    With Dialogs(wdDialogInsertCrossReference)
        SendKeys "р"
        SendKeys "{enter}"
        SendKeys "{tab}"
        SendKeys "{down}"
        SendKeys "{down}"
        SendKeys "{enter}"
        SendKeys "{tab}"
        SendKeys "г"
        .Show
    End With
End Sub

Этот макрос вызывает диалоговое окно вставки перекрестной ссылки на подпись "Рисунок", причем уже выбрано "Вставить ссылку на: Постоянная часть и номер".
К сожалению, макрос работает только в Word 2003. Если кто может завести его на Word 2007, отпишитесь пожалуйста. Если это возможно, ситуацию с перекрестными ссылками можно сделать вообще шоколадной. Метить постоянную часть ссылки вообще не потребуется, если добавить пару кусочков кода до и после вышеописанного макроса.

Мой шаблон/макросы для автоматической нумерации Word 2003, 2007, 2010 и т.д. (стили, названия, перекрестные ссылки, LISTNUM). Делюсь: http://vk.com/club_alex_bir