У меня есть список как это:
Когда список растет, я хочу, чтобы ссылка в верхней части страницы сказала что-то как:
Последний шаг в этом документе является шагом 3.
Я хочу, чтобы то число полужирным автоматически обновило. Действительно ли это возможно через ссылку?
Вот макрос, чтобы сделать то, что Вы спрашиваете. Это решение менее подвержено тому, чтобы быть уничтоженным во время редактирования документа.
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, таким образом, это все еще не полностью автоматически. Однако Вы могли сделать макрос выполненным каждый раз, когда документ открыт, посмотрите здесь
Я не думаю, что слово обеспечивает это как функцию, самое близкое, которое можно получить, должно сослаться на "пронумерованные" объекты, но добавление, что новые объекты в конец списка оставят их указывающие на старый конец (т.е., они не обновляют, поскольку Вы хотите их к).
Однако у меня есть потенциальное обходное решение для Вас: добавьте закладку к "скрытой" строке в последнем объекте списка и ссылку это. Это не прекрасно, но могло бы помочь. Обратите внимание на то, что я использую Word 2003, но инструкции должны, надо надеяться, быть подобными на 2007 также.
Установите свой курсор в конце последней строки текста в Вашем списке и нажмите Shift+Enter.
Это вставит разрыв строки (в противоположность нормальному концу абзаца), по существу добавляя новую строку к текущей строке, но значительно не добавляя новое число списка. Вы могли бы также хотеть включить маркеры абзаца при выполнении этого для наблюдения то, что происходит.
С Вашим курсором на этой новой строке используйте Инструменты-> Закладки и создайте новую закладку. Если Вы не выберете текста сначала, то закладка будет невидима, который является, вероятно, что Вы хотите.
Для создания ссылки используйте Инструменты-> Ссылка-> Перекрестная ссылка.., выберите Закладку как Ссылочный тип и удостоверьтесь, что Вы устанавливаете поле Insert Reference To, чтобы быть Номером абзаца.
Для расширения этого списка так, последнее число обновляется, Вы просто добавляете стандартный возврат строки в конце последнего элемента (т.е., необходимо вставить новые строки перед строкой закладки). Таким образом, закладка всегда является частью последнего "абзаца" в списке благодаря, он - разрыв строки, таким образом, ссылки должны быть пронумерованы правильно.
Проблемы
Попробуйте это:
LastStep
.Вставьте Поле с этим code*:
{ REF LastStep \n }
Это должно добавить ссылку на закладку на названную закладку LastStep
, и вместо включения текста закладки (который является значением по умолчанию), оно дает номер абзаца.
*С другой стороны, используйте меню как этот (Word 2007): Вставьте> Быстрые Части> Поле> Касательно> LastStep> "Абзац # из отмеченного абзаца"> хорошо
Примечание: Когда Вы добавите дополнительные объекты, прежде чем последний шаг, число не обновит немедленно на экране. Щелкните правой кнопкой по полю и выберите Update Field