【发布时间】:2022-12-09 04:53:43
【问题描述】:
我正在尝试制作一个 makro,将表格从生成的文档复制到现有文档的章节中。使用这个问题Getting the headings from a Word document 的公认答案,我设法找到了我想复制表格的章节。问题是 makro 通过 GetCrossReferenceItems 访问标题。返回值保存在一个 Variance astrHeadings 中。
看来我需要一个带有章节开始和结束的 Range 对象来添加表格。我可以从 Variance astrHeadings 开始获取范围吗?
【问题讨论】:
-
您可能需要从找到的参考搜索到下一个标题类型(可能在同一标题级别?)。那会给你一个范围。然后你可以枚举范围内的表。
-
查找表格的标题非常简单。而且,如果目标标题与源标题具有相同的标题级别和文本,那么找到正确的标题很简单。如果在该标题下还有其他内容,则在新标题下找到放置正在复制的表的位置并不那么简单。因此,问题就变成了如何在目标标题下确定放置表格的精确位置。您是否有要替换的表格、书签或其他一些可供代码用作参考点的识别功能?
-
感谢您的 cmets!是的,实际上我想更新现有的表,这样可能更容易查找它们并在同一范围内创建新表。用 Table 对象做事似乎更容易——似乎至少有一些文档。是我还是 VBA 文档非常简短?
-
在这种情况下,就会出现标题是否完全相关的问题。例如,如果它始终是源文档中的一个特定表(例如表 4),而目标文档中的另一个特定表(例如表 5),则只需要知道它在每个表中。
-
嗯,我之前尝试过 iterate-tables-approach 但我遇到了表格问题,可能它们有点损坏,因为它生成的表格包含合并的单元格。