在 Word 中更新链接表后,重复的标题行消失

在 Word 中更新链接表后,重复的标题行消失

我正在尝试弄清楚如何在 Word 中更新链接表时防止 Word 删除“在每页顶部重复为标题行”选项。我的一个文档中有来自多个数据源的约 300 个链接表,因此每次将表格复制并粘贴到 Word 文档中都需要花费大量时间。

我尝试在 Excel 的页面设置选项中选择重复行选项,但这似乎也不起作用。

有没有一种方法可以让我使用 VBA 以编程方式将所有表格复制到 Excel 中,或者防止 Word 在每次更新链接表格时删除表格属性?

答案1

我找到了一种解决方法,其中涉及嵌套表。

从 Excel 复制标题行单元格,然后将其粘贴到 Word 中。在该标题下添加一行。删除此单元格内除外线以外的所有边框线。此外,将剩余边框设置为不可见,这样您将获得如下所示的表格: 单排表

之后,您需要将不可见单元格的边距设置为 0 厘米。右键单击单元格 > 表格属性 > 单元格选项卡 > 选项,然后在对话框中将所有单元格边距设置为 0 厘米。

现在剩下的就是链接除标题之外的所有 Excel 行。另外,不要忘记在外部表格上“重复标题行”。

希望它能解决你的问题!

答案2

好的。所以我继续编写了一个宏,它将保存每个表中每行的所有 HeadingFormat 属性,更新所有表,然后重新应用这些格式属性。该宏似乎运行良好,应该可以用于其他应用程序。尽情享受吧!

Public Sub UpdateTables()
'Get Table Formats
Dim i As Integer
Dim j As Integer

Dim tablecount As Integer
tablecount = ActiveDocument.Tables.Count

Dim tableformats() As Integer
ReDim tableformats(tablecount)

For i = 1 To tablecount
    j = 1
    Do While ActiveDocument.Tables(i).Rows(j).HeadingFormat = -1
        tableformats(i) = tableformats(i) + 1
        j = j + 1
    Loop
    'MsgBox (tableformats(i))
Next i

'Update Table References
ActiveDocument.Fields.Update

'Apply Table Formating to Updated Tables
For i = 1 To tablecount
    For j = 1 To tableformats(i)
        If ActiveDocument.Tables(i).Rows(j).HeadingFormat = 0 Then
            ActiveDocument.Tables(i).Rows(j).HeadingFormat = wdToggle
        End If
    Next j
Next i       
End Sub

相关内容