Кто-нибудь может объяснить, как вставить Emojis в VBA Excel? - PullRequest
0 голосов
/ 16 марта 2019

В VBA Excel для печати " & Chr(34) & " используется для определения ".Я искал и сказал, что 34-й символ - ", согласно этому сайту .

Точно так же для ? Thumbs Up Sign код

👍 👍

Я пытался:

" & Chr(#128077) & "  
" & Chr(128077) & "  
" & Chr(#x1f44d) & "
" & Chr(x1f44d) & "

Но он говорит об ошибке как синтаксическая ошибка или ожидание) или неверный аргумент

Может кто-нибудь предложить мне решение

1 Ответ

2 голосов
/ 16 марта 2019

В Excel символы хранятся с использованием Unicode UTF-16.«Недурно» соответствует Unicode-символу U+1F44D, закодированному следующим образом :

в UTF-16 (шестнадцатеричное): 0xD83D 0xDC4D (d83ddc4d)

в UTF-16 (десятичное число): 55357, 56397

Все те символы, которые не являются классическими латинскими символами (ASCII), должны обрабатываться с chrW и ascW.

Итак, в вашем случае

ChrW(55357) & ChrW(56397)
or
ChrW(&HD83D) & ChrW(&HDC4D)

даст большие пальцы вверх.Также обратите внимание, что вы не получите этого в VBA IDE.Вы должны будете поместить это в рабочий лист, чтобы увидеть это.

Уточнение

' Puts a thumbs up symbol in A1
ActiveSheet.Range("A1").Value = ChrW(55357) & ChrW(56397)

' Will not produce a thumbs up symbol, since VBA can't handle it
Debug.Print ChrW(55357) & ChrW(56397)

' Will not produce a thumbs up symbol, since VBA can't handle it
MsgBox ChrW(55357) & ChrW(56397)

HTML
Если вы хотите превьючтобы быть в HTML, сделайте так:

HtmlString = "<p>something something &#128077;</p>"
Print #1, HtmlString ' <-- replace with your output method

(&#128077; или &#x1f44d;)

...