У меня есть следующий код для вставки обновленной перекрестной ссылки с гиперссылкой вместо набранного пользователем простого текста со ссылкой на предыдущий элемент списка:
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, до совпадениянайден?