Как я могу реализовать HTML встроенное моделирование с использованием переменных в VBA? - PullRequest
0 голосов
/ 09 апреля 2020

Я использую VBA для создания новой электронной почты Outlook. Мой код работает должным образом при назначении жестко закодированной ширины таблицы, однако я хотел бы присвоить width: 500px; переменной и использовать эту переменную в тексте моего электронного письма.

Как мне этого добиться? Я знаю, что мы не можем использовать CSS с VBA, поскольку мы ограничены простой версией HTML через VBA / Outlook

CODE

Sub SendEmail
'shortened code
Dim tblWidth as double
tblWidth = 500

'i would like <td style = 'width:tblWidth px;...

With EmailMessage
    .To = "john.smith@yahoo.com"
    '...other email properties listed here
    .HTMLBody = "<table><td style='width:500px; color:#4d4d4d; height=2px;'></td></table>"

End With

End Sub

Ответы [ 2 ]

2 голосов
/ 09 апреля 2020

Чтобы использовать вместо этого таблицу стилей:

Просто создайте ее, используя строку, и включите ее в HTMLBody

Dim sStyleSheet as String
sStyleSheet = "<style> td {width:500px;} </style>" 

или включите переменную

sStyleSheet = "<style> td {width:" & tblWidth & "px;} </style>" 

Видите, как вы просто строите строку?

Затем включите ее в HTML:

sHTML = "<table><tr><td> Hello World </td></tr></table>"
sStyleSheet = "<style> td {width:" & tblWidth & "px;} </style>" 
.HTMLBody = sStyleSheet & sHTML

Имеет смысл?

2 голосов
/ 09 апреля 2020

Попробуйте это просто

.HTMLBody = "<table><td style='width:" & tblWidth & "px; color:#4d4d4d; height=2px;'></td></table>"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...