我目前正在编写一份报告,但无论出于什么原因,在创建与图像配套的图表时,Microsoft Word 的顺序出现了错误:
http://puu.sh/5xWsy/0ee1dd057b.png
我不完全清楚为什么会发生这种情况,我尝试重新添加图片和标题,但这种情况仍然发生。Microsoft Word 甚至无法计数,这似乎有点荒谬。
答案1
我一直在尝试使用 Word 2007 重现 OP 所面临的问题。使用标准标题选项(例如图片和文本都与文本对齐,而不是独立的),我只能在图片和/或文本被框住时重现该问题。根据经验,我知道这个问题有时会发生,主要是在从不同文档复制粘贴部分内容时,但很难重现。
重现此问题:
创建一个包含一些图像的文档。为此,我使用了 ClipArt 的示例图。
将文字造型改为正方形(这样您就可以将图片移动到您想要的位置)
添加标题。标题也将显示在文本框中。
创建图表目录 (TOF)。
拉伸第二个图片框。
TOF 中的字幕顺序现已颠倒。
要解决此问题,请执行以下操作:
选择其中一个反向标题的文本框。
选择编号,然后右键单击。
刷新/实现该字段。这将使第二个标题成为第一个,如 TOF 中所示。
对另一个盒子执行相同操作。
刷新 TOF。应该显示拉伸的标题在前,然后是未拉伸的标题。
通过所有这些,您可以拉伸图 1 中的文本框(背景透明),然后刷新 TOF。这应该可以解决问题。
答案2
当您向浮动对象添加标题时,它会被添加到文本框内,并使用 SEQ 和/或 STYLEREF 字段创建(取决于设置)。
文本框不在文档的文本层中,因此无法立即看出 Word 如何对它们进行排序。据我所知,Word 会查看文本框的锚点位置(您可以单击“显示”按钮查看锚点),并使用锚点来确定顺序。
但另一个问题是,当您选择“整个文档”(例如使用 ctrl-A)并按 F9 来更新文档中的字段时,文本框不会包含在内,因此它们的字段不会更新。
因此,如果您插入 2 个图形,然后以任何方式重新定位它们,导致第二个图形的文本框锚点移动到第一个图形的文本框锚点上方(即在文档中较早的位置),则典型的“选择文档,更新参考字段,更新目录”序列将不起作用。
我认为以下 VBA 可用于修复文档正文中的所有文本框(与其他故事范围(如页眉/页脚)中的文本框相反,但无论如何我认为它们不能包含这种参考编号)。
Sub updateFigureRefs()
Dim rng As Range
Set rng = ActiveDocument.StoryRanges(wdTextFrameStory)
While Not (rng Is Nothing)
rng.Fields.Update
Set rng = rng.NextStoryRange
Wend
Set rng = Nothing
End Sub
它实际上会更新全部文本框中的字段,例如表格引用以及其他内容。