我有这样一个列表:
- 步骤1
- 第二步
- 第四步
随着列表的增长,我希望在页面顶部有一个参考,例如:
本文档中的最后一步是步骤3。
我希望粗体数字自动更新。可以通过参考实现吗?
答案1
这里有一个宏可以执行您的要求。此解决方案在文档编辑期间不易被破坏。
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 时,您都必须运行该宏,因此这仍然不是完全自动化的。但是,您可以让宏在每次打开文档时运行,请参阅这里
答案2
我认为 Word 并没有提供此功能,最接近的功能就是引用“编号”项目,但是将新项目添加到列表末尾将使这些项目指向旧的末尾(即,它们不会按照您希望的方式更新)。
然而, 我有一个潜在的解决方法:在列表最后一项的“隐藏”行中添加书签,然后引用该书签。这并不完美,但可能会有所帮助。请注意,我使用的是Word 2003,但希望 2007 年的说明也应该类似。
将光标放在列表中最后一行文本的末尾,然后按Shift+ Enter。
这将插入换行符(而不是正常的段落分隔符),本质上是在当前行中添加一个新行,但重要的是没有添加新的列表编号。执行此操作时,您可能还想打开段落标记以查看发生了什么。将光标放在此新行上,使用工具->书签并创建一个新书签。如果您不先选择任何文本,书签将不可见,这可能正是您想要的。
要创建引用,请使用工具->参考-> 交叉引用.., 选择书签作为引用类型并确保设置插入引用领域段落编号。
要扩展此列表以便更新最后一个数字,只需在最后一个元素的末尾添加标准换行符(即,必须插入新行前书签行)。这样,书签由于有换行符,所以始终是列表最后一个“段落”的一部分,因此参考文献的编号应正确。
问题
- 如果您在错误的位置(即书签之后)添加新的换行符,您的列表将会中断,如果您不小心修复它,您将移动书签并弄乱您的参考资料。
- 列表后面会有一个“空”行。
答案3
尝试这个:
- 在列表的最后一项中为某些文本(无论哪个)添加书签,并将其命名为
LastStep
。 - 转到列表的开头并输入:“最后一步......是步骤”
插入带有此代码的字段*:
{ REF LastStep \n }
这应该为名为 的书签添加一个书签引用LastStep
,并且不包含书签文本(这是默认设置),而是提供段落编号。
*或者,使用如下菜单(Word 2007):插入 > 快速部件 > 字段 > 引用 > LastStep > “标记段落中的段落号” > 确定
笔记:在最后一步之前添加其他项目时,屏幕上的数字不会立即更新。右键单击该字段并选择Update Field