У меня есть код VBA, который я использую для отправки текстов из Outlook членам команды моего проекта на работе. Для некоторого фона: для абонентов, не входящих в AT & T, у нас нет проблем с отправкой текстовых сообщений из Outlook, вставляя номера людей в поле Кому: электронные письма Outlook. Тем не менее, все абоненты AT & T получат текст в виде группового сообщения, которого мы хотим избежать. Абоненты non-AT & T правильно получают отдельные тексты, когда мы отправляем группу.Использование VBA в Outlook для отправки текстов с помощью Emojis
Мы написали код VBA, чтобы прокрутить таблицу AT & T, чтобы Outlook отправил по электронной почте один адрес по AT & T номер. Это хорошо работает для нас, однако мы надеялись добавить некоторые эможи в тексты, которые мы отправляем. Я много сделал для Googling и просматривал вопросы о stackoverflows, и я не могу найти какой-либо код, созданный для этой цели. Я также полный noob, когда дело доходит до VBA, и я собрал это решение вместе, пока не получаю помощь от коллеги и читаю через потоки в Интернете. Этот бит о emojis дал мне достаточно проблем, что я думал, что сломаюсь и отправлю этот пост.
Для справки, вот мой код:
Sub EmojiTest()
Dim objOutlook As Outlook.Application
Dim objOutlookMsg As Outlook.MailItem
Dim objOutlookRecip As Outlook.Recipient
Dim MobileNumber As String
' Create the Outlook session.
Set objOutlook = CreateObject("Outlook.Application")
Set xlApp = CreateObject("Excel.Application")
'Grab list from Excel
Set xlAtt = xlApp.Workbooks.Open("C:\Users\Username\Desktop\Spreadsheet with AT&T numbers.xlsx")
xlAtt.Activate
LastRow = xlAtt.ActiveSheet.Range("B" & xlAtt.ActiveSheet.Rows.Count).End(-4162).Row
For i = 1 To LastRow
xlAtt.Activate
MobileNumber = xlAtt.ActiveSheet.Range("B" & i).Value
' Create the message.
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
objOutlookMsg.SentOnBehalfOfName = "[email protected]"
With objOutlookMsg
' Add the To recipient(s) to the message.
Set objOutlookRecip = .Recipients.Add(MobileNumber)
objOutlookRecip.Type = olTo
' Set the Subject, Body, and Importance of the message.
.Subject = "Emoji Test"
.Body = "Text with emojis"
.Save
.Send
End With
Next i
Set objOutlook = Nothing
xlApp.Workbooks.Close
Set xlApp = Nothing
End Sub
Это код, который я никогда не мог придумать себе из-за мое полное отсутствие опыта работы с VBA и ограниченного опытом кодирования в целом. Буду признателен за любую оказанную помощь.
Я пробовал это, и это закончилось тем, что доставило текст, который я набрал. Как и в случае с смайликом, это получилось как «\ u1F601». Я также попробовал «\ u + 1F601», который указан на сайте, который вы связали, но полученный текст остается открытым текстом без emojis. – Choofin
Можете ли вы попробовать эту строку? '' \ uD83D \ uDC71 "' – SCGB
Хм, это тоже не сработало. Я где-то читал, что некоторые шрифты не имеют доступа к значениям Unicode выше определенной точки. Может ли это быть проблемой? Я даже не знаю, имел ли этот вопрос смысл. Спасибо за помощь в этом. – Choofin