我有大量的Word文档,有点"已损坏"表。我已经能够自动完成大部分修复过程,但有一个问题仍然超出我的范围。
许多表都是浮动对象 - 当我显示隐藏的格式标记时,我会在表格中看到一个锚点。我无法保留这样的文件,我需要将所有内容都内联。
我确实有一段代码"修复"这个,但我不认为这是一个很好的解决方案。通过改变文本包装来自"无" (默认 - 我希望它是什么)到"周围"并且回到"无",这是固定的。代码是,
Selection.Tables(1).Rows.WrapAroundText = True
Selection.Tables(1).Rows.WrapAroundText = False
我确定有更好的方法可以做到这一点。有谁知道一些有用的东西?谢谢!
答案 0 :(得分:7)
我不知道为什么拍打WrapAroundText
标志可以解决你的问题,VBA有很多这样的怪癖。
将此方法自动化到文档中的所有表格非常简单:
Dim i as Integer
For i=1 to Len(ActiveDocument.Tables)
ActiveDocument.Tables(i).Rows.WrapAroundText = True
ActiveDocument.Tables(i).Rows.WrapAroundText = False
Next i
答案 1 :(得分:4)
您是否可以发布下载的示例文档?听说你找到了锚点,Word中新行的符号,我认为这是最好的方法。
您的代码似乎在您选择它时查看每个表,或者您的代码选择它(?)。
将此添加到您的代码中以修复任何潜在问题。
For Each Table In Selection.Tables
If Table.Rows.WrapAroundText = True Then
Table.Rows.WrapAroundText = True
Table.Rows.WrapAroundText = False
End If
Next