我有一些VBA代碼,用於將Outlook中的文本發送給我的項目團隊成員。對於某些背景:對於非AT用戶,我們沒有任何問題通過將人員號碼全部插入Outlook電子郵件的收件人字段來從Outlook發送短信。但是,所有AT用戶都將收到文本作爲羣組消息,這是我們想要避免的。當我們進行羣組發送時,非AT用戶正確接收單個文本。在Outlook中使用VBA與Emojis發送文本
我們已經編寫了一些VBA代碼來循環使用AT & T號碼的電子表格,以便Outlook根據AT & T號碼發送一封電子郵件。這對我們來說工作得很好,但是,我們希望在我們發送的文本中添加一些表情符號。我做了很多搜索和搜索stackoverflow的問題,我似乎無法找到爲此目的而構建的任何代碼。當談到VBA時,我也是一個完整的noob,而且我已經將這個解決方案拼湊在一起,遠遠沒有從同事的幫助和通過互聯網上的線索閱讀。關於表情符的這一點給了我足夠的麻煩,我想我會分解並提交這篇文章。
僅供參考,這裏是我的代碼:
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」這就是它在你鏈接的網站上的列表,但是最終的文本仍然是純文本而沒有表情符號。 – Choofin
你可以試試這個字符串嗎? '「\ uD83D \ uDC71」' – SCGB
哼,那也不管用。我在某處讀某些字體無法訪問某個點以上的Unicode值。這可能是一個問題嗎?我甚至不知道這個問題是否有意義。 感謝您對此的幫助。 – Choofin