Я создал собственный инструмент для перекрестных ссылок в 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).