Использование VBA WordEditor для выравнивания нескольких таблиц по горизонтали в Outlook - PullRequest
1 голос
/ 01 июля 2019

Я пытаюсь использовать 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, который только смещает таблицу влево и вправо в указанном направлении, но все же не меняет разницу высот - что интересно, возможно, при редактировании горизонтальной позициииз таблиц в слове, он действительно производит ответ, который я хотел, но только когда я работаю в Outlook, он не работает.Я подозреваю, что это как-то связано с таблицами, лежащими в разных абзацах, но попытка .Move и .MoveUp тоже не сработала.Любые предложения будут оценены!

...