Excel создает электронную почту Outlook, но текст не выравнивается
У меня есть прикрепленный файл, который создает квитанцию для отправки по электронной почте клиенту. Я пытаюсь получить второе поле для выравнивания в электронной почте Outlook, но пока не нашел решения. Попробовали Chr9, vbTab, просто добавили пробелы и т. Д. Решения были бы очень благодарны – я не представляю, как его огромная задача исправить, но в настоящее время она оказывается неуловимой.
Sub GenerateEmails() Dim ce As String: ce = "[email protected]" 'create draft emails Dim OutApp As Object, OutMail As Object Set OutApp = CreateObject("Outlook.Application") On Error GoTo cleanup If ce Like "?*@?*.?*" Then Set OutMail = OutApp.CreateItem(0) On Error Resume Next With OutMail .TO = ce .CC = "" .Subject = "Receipt" .Body = "Payment Amount: " & "$10,000" & vbNewLine & _ "Receipt Num: " & "R645-81658" & vbNewLine & _ "Sales Rep: " & "Ben Smith" & vbNewLine & _ "Date Received: " & "05 July 2016" .Display End With On Error GoTo 0 Set OutMail = Nothing End If cleanup: Set OutApp = Nothing Application.ScreenUpdating = True End Sub
благодаря
- Текстовое поле подсказки, которое будет сохранять форматирование Outlook
- VBA: Поиск электронной почты в почтовом ящике не по умолчанию?
- Не удалось получить Excel для создания электронной почты
- Создание вложения из листа Google в формате MS Excel через скрипт Google
- Экспорт электронной почты из папок Outlook в Excel. Проблема с кодированием
- Отправка с дополнительной учетной записи электронной почты в Outlook
- Как создать соединение / ссылку между Excel и электронной почтой Outlook?
- Вставить содержимое ячеек в Outlook, поддерживая форматирование
- Excel VBA Отправить Email
- Как я могу создавать электронные письма только для уникальных адресов из столбца в excel?
- Ссылка в другой учетной записи
- Ошибка отправки электронной почты (gmail) через python с вложением excel xlsx
- что вызвало изменение файла вложений при отправке электронной почты Python
Sub Email() Dim ol As Outlook.Application Dim olMsg As Outlook.MailItem Set ol = New Outlook.Application Set olMsg = ol.CreateItem(olMailItem) olMsg.BodyFormat = olFormatHTML olMsg.HTMLBody = "<TABLE><TR><TD>Cell 1</td><td>Value 1</td></tr>" & _ "<TR><TD>Cell 2</td><td>Value 2</td></tr>" & _ "<TR><TD>Cell 3</td><td>Value 3</td></tr></table>" olMsg.Display End Sub
Кроме того, вы можете использовать шрифт, который имеет одинаковый размер для каждого символа, например Courier? и используйте maxmimum, скажем, 100 пробелов, затем сделайте left("data to be added " & string(100," "),100)
Я просто добавил количество необходимых пробелов (я подсчитал, сколько пробелов было необходимо в письме, в то время как я думаю, вы сделали его выровненным в вашем коде).
.Body = "Payment Amount: " & "$10,000" & vbNewLine & _ "Receipt Num: " & "R645-81658" & vbNewLine & _ "Sales Rep: " & "Ben Smith" & vbNewLine & _ "Date Received: " & "05 July 2016"
Это выровнено для меня. Но это не идеально, и это может быть, следуя советам @Nathan_Sav и используя таблицу.