Вставка / изменение текста в полях перекрестных ссылок - PullRequest
0 голосов
/ 28 февраля 2019

Я создал собственный инструмент для перекрестных ссылок в Word, который позволяет пользователю выбирать несколько последовательных элементов для перекрестных ссылок одновременно.Например, удерживая нажатой кнопку «Shift» и выбирая рисунки с 1 по 5, в настоящее время в моем документе вставляются «рисунки 1–5», причем оба числа привязываются к соответствующим цифрам в качестве обновляемых кодов полей.Переключатель кода поля выглядит следующим образом:

{ REF _Ref2236712 \h \* \Charformat } - { REF _Ref2236713 \h \# 0}

Поле вставляется в документ через VBA.Вот пример того, как вставляется первое поле:

Selection.InsertCrossReference ReferenceType:=ReferenceType.Value, _
referencekind:=wdOnlyLabelAndNumber, referenceitem:=i, insertashyperlink:=HyperlinkChoice

...

Set fld1 = rng1.Fields(1)
fld1.Code.Text = fld1.Code.Text & "\* Charformat "
fld1.Update

Как я могу изменить код поля VBA, чтобы конечный результат в документе отображался как «Рисунки 1–5» вместо «Рис. 1»- 5 "?Я попытался добавить строки, такие как 's' и "s", в разные места в скобках, но безуспешно.

Если сделать еще один шаг вперед, можно ли изменить «Приложение A - Приложение C», чтобы оно отображалось как«Приложения А - С»?Это более сложная задача, потому что она не включает просто добавление одной буквы для достижения множественности.Кроме того, переключение форматирования чисел с более раннего (\ # 0) не применяется к буквенным символам (это означает, что Приложение C не урезается, чтобы просто сказать C).

1 Ответ

0 голосов
/ 01 марта 2019

Вам нужно изменить макрос, чтобы он выводил: Фигуры {REF _Ref2236712 \ h # 0} - {REF _Ref2236713 \ h # 0}

...