复制ms word vba中的复杂(双)表行

时间:2017-09-16 10:06:29

标签: vba ms-word word-vba office-interop office-2010

在Microsoft Word 2010中,假设我有一个带有表的模板,其中包含一些就绪列标题和第一行。这一行很复杂 - 基本上它跨越两个真正的行。它在第一个和第二个“实际”行中也具有不均匀的列宽。例如 enter image description here 我试图用动态行数填充这个表,我需要像第一个。例如 enter image description here 我到目前为止看到的方法是向表中添加行都会使新行看起来像最后一行(或第一行 - 取决于你的方式) - 但我希望将相同的功能扩展为两行行,即使新的TWO行看起来像最后两行。 我找到的唯一方法是使用剪贴板。我想避免剪贴板。也许任何人都可以想到另一种方式?

有效的剪贴板代码:

Sub example()

    Set myrows = ActiveDocument.Range( _
        ActiveDocument.Tables.Item(1).Rows.Item(1).Range.Start, _
        ActiveDocument.Tables.Item(1).Rows.Item(2).Range.End _
    )

    myrows.Select

    ' this works
    myrows.Copy
    myrows.Paste

    ' this adds two rows that look like the last row in the selection
    ' this is not what i need
    'Selection.InsertRowsBelow

End Sub

感谢

1 个答案:

答案 0 :(得分:0)

对不起,这是忘记你10年前学到的东西的一个例子。我问的具体问题似乎很容易回答。

Sub example()

    Set myrows = ActiveDocument.Range( _
        ActiveDocument.Tables.Item(1).Rows.Item(1).Range.Start, _
        ActiveDocument.Tables.Item(1).Rows.Item(2).Range.End _
    )

    ' this works
    Set rowsbelow = ActiveDocument.Range(myrows.End, myrows.End)
    rowsbelow.FormattedText = myrows.FormattedText

End Sub

如果主持人认为有必要,我可以完全删除帖子

相关问题