#vba #unicode #emoji
#vba #unicode #эмодзи
Вопрос:
В VBA Excel для печати " amp; Chr(34) amp; "
используется определение "
. Я поискал, и там было указано, что 34-й символ — это "
, согласно этому веб-сайту.
Таким же образом для знака 👍 большими пальцами вверх код
amp;#128077; amp;#x1f44d;
Я пытался:
" amp; Chr(#128077) amp; "
" amp; Chr(128077) amp; "
" amp; Chr(#x1f44d) amp; "
" amp; Chr(x1f44d) amp; "
Но в нем указано error как синтаксическая ошибка или ожидаемый) или недопустимый аргумент
Кто-нибудь может предложить мне решение
Ответ №1:
В Excel символы хранятся с использованием Unicode UTF-16
. «Thumbs up» соответствует символу Юникода U 1F44D
, закодированному следующим образом:
в UTF-16 (hex): 0xD83D 0xDC4D (d83ddc4d)
в UTF-16 (десятичный): 55357, 56397
Все те символы, которые не являются классическими латинскими символами (ASCII), должны обрабатываться с помощью chrW
и ascW
.
Итак, в вашем случае
ChrW(55357) amp; ChrW(56397)
or
ChrW(amp;HD83D) amp; ChrW(amp;HDC4D)
это вызвало бы одобрение. Также обратите внимание, что вы не получите этого в среде разработки VBA. Вам нужно будет поместить их на рабочий лист, чтобы увидеть.
Разъяснение
' Puts a thumbs up symbol in A1
ActiveSheet.Range("A1").Value = ChrW(55357) amp; ChrW(56397)
' Will not produce a thumbs up symbol, since VBA can't handle it
Debug.Print ChrW(55357) amp; ChrW(56397)
' Will not produce a thumbs up symbol, since VBA can't handle it
MsgBox ChrW(55357) amp; ChrW(56397)
HTML
Если вы хотите, чтобы большие пальцы были в HTML, тогда сделайте вот так:
HtmlString = "<p>something something amp;#128077;</p>"
Print #1, HtmlString ' <-- replace with your output method
( amp;#128077;
или amp;#x1f44d;
)
Комментарии:
1. Я пробовал с » amp; ChrW (56397) amp; » он выдает как prnt.sc/myprap
2. Мне нужно использовать в редакторе Vba для Excel., я в замешательстве /
3. @DineshS — Я добавил некоторые пояснения выше
4.
You must use decimal numbers
— почему?128077
естьamp;h1f44damp;
.5. Нет, я беру свои слова обратно. Но вы должны использовать правильный синтаксис. Для чисел я рекомендую fileformat.info/info/unicode/char/1f44d/index.htm . 128077 — это номер объекта html, который здесь нельзя использовать.