我有MS word文件,宏在第一页有表。 (表格是使用标签创建的。)
但是当表格中的单元格不足时,我想添加另一个页面,其中包含类似的表格。
所以我尝试编码如下
ActiveDocument.Sections(1).Range.Copy
ActiveDocument.Sections.Add.Range.Paste
但是这段代码有时会改变第一页的格式。 并创建第三个空白页面,第二页面包含第一个内容。
任何正文都可以让我知道如何只添加第一页内容相同的页面, 第一页没有变化。
由于
答案 0 :(得分:1)
该表将自动流入下一页,您也可以指定重复的标题行。
但假设你需要一张新桌子......
您的原始问题需要一些说明(请参阅下面的几点),但请查看以下代码是否会破坏您的格式:
Sub copytable1()
Dim rtarget As Word.Range
With ActiveDocument
Set rtarget = .Range(.Content.End - 1, .Content.End - 1)
rtarget.InsertBreak Type:=Word.WdBreakType.wdPageBreak
Set rtarget = .Range(.Content.End - 1, .Content.End - 1)
rtarget.FormattedText = .Tables(1).Range.FormattedText
Set rtarget = Nothing
End With
End Sub
它假设
创建可编辑的Word文档时,作为一种“好习惯”,您可以使用带有“Page Break Before”属性设置的段落样式来实现中断,而不是像我一样使用硬分页符。
可替换地,
Sub copytable3()
Dim rtarget As Word.Range
With ActiveDocument
Set rtarget = .Range
rtarget.Collapse wdCollapseEnd
rtarget.InsertParagraphAfter
Set rtarget = .Range
rtarget.Collapse wdCollapseEnd
rtarget.ParagraphFormat.PageBreakBefore = True
Set rtarget = .Range
rtarget.Collapse wdCollapseEnd
rtarget.InsertParagraphAfter
Set rtarget = .Range
rtarget.Collapse wdCollapseEnd
rtarget.ParagraphFormat.PageBreakBefore = False
Set rtarget = .Range
rtarget.Collapse wdCollapseEnd
rtarget.Select
rtarget.FormattedText = .Tables(1).Range.FormattedText
Set rtarget = Nothing
End With
End Sub