В MS Word VBA метод для вставки перекрестной ссылки на номер пронумерованного элемента, используя номер, как он выглядит - PullRequest
0 голосов
/ 30 мая 2018

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

Selection.InsertCrossReference referencetype:="Numbered item", _
referencekind:=wdNumberNoContext, referenceitem:=<user-entered number>, 
InsertAsHyperlink:=True 

Я работаю с документами с несколькими номерамисписки различного форматирования, и проблема в том, что если пользователь набрал цифру 5, вставленная перекрестная ссылка будет на 5-й пронумерованный элемент во всем документе, который может быть абзацем с номером «[0005]» вместо пользовательского.Предполагаемый элемент списка под номером «5», который появляется намного позже в документе.Я знаю, что можно извлечь номер заголовка списка так, как он выглядит для данного пронумерованного элемента - это свойство ListString объекта ListFormat;например, Selection.Range.ListFormat.ListString вернет число в том виде, в котором оно отображается для выбранного абзаца.

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

...