7

У меня есть список, как это:

  1. Первый шаг
  2. Шаг второй
  3. Шаг четвертый

По мере роста списка я хочу, чтобы ссылка в верхней части страницы говорила что-то вроде:

Последний шаг в этом документе - шаг 3.

Я хочу, чтобы этот номер, выделенный жирным шрифтом, автоматически обновлялся. Это возможно по ссылке?

3 ответа3

2

Вот макрос, чтобы сделать то, что вы просите. Это решение менее подвержено разрушению во время редактирования документа.

  • Создайте закладку с именем MyList на «1». списка, который вы хотите посчитать. (См. Выбор в изображении.)
  • Создайте ссылку на ListCount для результата

альтернативный текст

Sub ListCountMacro()
For i = 1 To Lists.Count
If Lists(i).Range.Start = Bookmarks("MyList").Start Then Exit For
Next i

c = ActiveDocument.Lists(i).CountNumberedItems
For Each aVar In ActiveDocument.Variables
If aVar.Name = "ListCount" Then Num = aVar.Index
Next aVar

If Num = 0 Then
ActiveDocument.Variables.Add Name:="ListCount", Value:=c
Else
ActiveDocument.Variables(Num).Value = c
End If

Selection.WholeStory
Selection.Fields.Update

End Sub

Вам придется запускать макрос каждый раз, когда вы хотите обновить ListCount, так что это все еще не полностью автоматически. Однако вы можете запускать макрос при каждом открытии документа, см. Здесь

1

Попробуй это:

  1. Добавьте Закладку к некоторому тексту (неважно, какой) в последнем элементе списка и назовите его LastStep .
  2. Перейдите к началу списка и введите: «Последний шаг ... это шаг»
  3. Вставьте поле с этим кодом *:

    { REF LastStep \n }
    

Это должно добавить ссылку на закладку к закладке с именем LastStep , и вместо включения текста закладки (который используется по умолчанию), он дает номер абзаца.

* В качестве альтернативы используйте такие меню (Word 2007):«Вставка»> «Быстрые детали»> «Поле»> «Ссылка»> «Последний шаг»> «Абзац № из выделенного абзаца»> ОК

Примечание . Когда вы добавляете дополнительные элементы перед последним шагом, номер не будет мгновенно обновляться на экране. Щелкните правой кнопкой мыши на поле и выберите « Update Field

1

Я не думаю, что Word предоставляет это как особенность, самое близкое, что вы можете получить, это ссылаться на "пронумерованные" элементы, но добавление новых элементов в конец списка оставит эти указатели на старом конце (т. Е. Они не обновлять как хочешь).

Тем не менее, у меня есть потенциальный обходной путь: добавьте закладку к "скрытой" строке в последнем элементе списка и сделайте ссылку на нее. Это не идеально, но может помочь. Обратите внимание, что я использую Word 2003, но, надеюсь, инструкции должны быть похожими и на 2007 год.

  1. Поместите курсор в конец последней строки текста в вашем списке и нажмите Shift+Enter.
    Это вставит разрыв строки (в отличие от обычного разрыва абзаца), по существу добавив новую строку к текущей строке, но, что важно, без добавления нового номера списка. Вы также можете включить маркеры абзаца при этом, чтобы увидеть, что происходит.

  2. Наведите курсор на эту новую строку, используйте Сервис -> Закладки и создайте новую закладку. Если вы сначала не выделите какой-либо текст, закладка будет невидимой, что, вероятно, вам и нужно.

  3. Чтобы создать ссылку, используйте Инструменты -> Ссылка -> Перекрестная ссылка .., выберите Закладку в качестве Типа ссылки и убедитесь, что в поле Вставить ссылку в указано значение Номер абзаца.

  4. Чтобы расширить этот список, чтобы последний номер обновлялся, вы просто добавляете стандартную строку возврата в конце последнего элемента (т.е. вы должны вставить новые строки перед строкой закладки). Таким образом, закладка всегда является частью последнего "абзаца" в списке благодаря разрыву строки, поэтому ссылки должны быть пронумерованы правильно.

вопросы

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .