使用VBA WordEditor在Outlook中水平对齐多个表

时间:2019-07-01 06:00:47

标签: vba outlook ms-word formatting copy-paste

我正在尝试使用VBA WordEditor编译Outlook电子邮件,该电子邮件将从工作簿中复制一些表并将其粘贴到电子邮件中。我试图使表对象彼此位于同一水平线上。我的代码可以将它们并排放置,但是其中一张桌子比另一张桌子略低,我尝试过但未能将其向上移动。

我目前用来测试以下代码的代码将运行粘贴过程-请注意,该代码旨在进行循环处理,以便我可以粘贴多个表,但是现在我只是尝试使用2。

这里是输出示例

enter image description here

这是我想要实现的一个例子。在这里,我只能通过手动拖动表格来做到这一点。

enter image description here

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都没有解决。任何建议将不胜感激!

0 个答案:

没有答案