我正在尝试使用VBA WordEditor编译Outlook电子邮件,该电子邮件将从工作簿中复制一些表并将其粘贴到电子邮件中。我试图使表对象彼此位于同一水平线上。我的代码可以将它们并排放置,但是其中一张桌子比另一张桌子略低,我尝试过但未能将其向上移动。
我目前用来测试以下代码的代码将运行粘贴过程-请注意,该代码旨在进行循环处理,以便我可以粘贴多个表,但是现在我只是尝试使用2。
这里是输出示例
这是我想要实现的一个例子。在这里,我只能通过手动拖动表格来做到这一点。
Dim tblScore2, tblScore1 As Word.Table
Dim rngTarget, rngHolder As Word.Range
Dim ws_sum As Worksheet
dim wdDoc as Word.Document
''''''
'some other code here
''''''
With ws_sum
.Range(.Cells(9, 3), .Cells(12, 7)).Copy
End With
Set rngTarget = wdDoc.Range(0, 0)
Set rngHolder = rngTarget.Duplicate
rngTarget.InsertBefore vbCr
rngTarget.MoveStart wdCharacter, 1
rngTarget.Paste
rngHolder.InsertBefore vbCr
Set rngTarget = rngHolder.Duplicate
rngTarget.Collapse wdCollapseEnd
rngTarget.Paste
Set tblScore1 = wdDoc.Tables(1)
Set tblScore2 = wdDoc.Tables(2)
tblScore1.Rows.WrapAroundText = True
tblScore2.Rows.WrapAroundText = True
'was trying to make this work but it hasn't yielded any results..
tblScore2.Range.Move wdParagraph, -2
我尝试更改表属性,即Rows.Alignment
,.HorizontalPosition
,但是除了.Alignment
之外,它们似乎都没有引起响应,只能将表左右移动在指定的方向上,但仍然不会改变高度差-有趣的是,也许当在Word中编辑表格的水平位置时,确实会产生所需的响应,但是只有当我在Outlook中工作时,它才会不行我开始怀疑它与不同段落中的表有关,但是尝试.Move
和.MoveUp
都没有解决。任何建议将不胜感激!