Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

EMOJI IN MSGBOX, CELLE E TESTOMAIL OUTLOOK

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

EMOJI IN MSGBOX, CELLE E TESTOMAIL OUTLOOK

Postdi christianghz » 06/06/19 11:14

Ciao
domanda semplice ma non banale per me.

Vorrei inserire un simbolo su cella/msgbox/testo mail con outlook tramite codice vba, ma non ci riesco.

Ho letto vari post in giro, dove per esempio per inserire il thumbs up si usa questo coidce:
ChrW(55357) & ChrW(56397)

ma non capisco come inserire simboli diversi, ad esempio a me serve questo:

https://www.charbase.com/1f69a-unicode-delivery-truck


ho provato varie combinazioni ma non ne vengo a capo, qualcuno riesce ad aiutarmi?

grazie
christianghz
Utente Senior
 
Post: 112
Iscritto il: 03/02/14 17:58

Sponsor
 

Re: EMOJI IN MSGBOX, CELLE E TESTOMAIL OUTLOOK

Postdi FRIEDRICH » 06/06/19 17:46

Ciao christianghz,
bisogna convertire il valore esadecimale codificato in UTF-16 (nel tuo caso d83d e de9a) in decimale.

ActiveSheet.Range("A1").Value = ChrW(55357) & ChrW(56986)

P.S.
Qui trovi la lista completa https://www.fileformat.info/info/emoji/list.htm
Avatar utente
FRIEDRICH
Utente Junior
 
Post: 27
Iscritto il: 09/07/17 17:14

Re: EMOJI IN MSGBOX, CELLE E TESTOMAIL OUTLOOK

Postdi Anthony47 » 07/06/19 01:34

Hai gia' la soluzione data da FRIEDRICH per visualizzare il "delivery truck" in una cella...

Visto che ti interessava anche il MessageBox, per gestire i caratteri unicode devi ricorrere al msgbox di Windows, nella versione MessageBoxW.

Per questo, in cima a un modulo devi dichiarare la funzione:
Codice: Seleziona tutto
#If VBA7 Then
     Declare PtrSafe Function MessageBoxW Lib "user32" (ByVal hwnd As LongPtr, ByVal lpText As LongPtr, Optional ByVal lpCaption As LongPtr, Optional ByVal wType As Long = 0) As Long
#Else
     Declare Function MessageBoxW Lib "user32" (ByVal hwnd As Long, ByVal lpText As Long, ByVal lpCaption As Long, ByVal wType As Long) As Long
#End If

Poi nello stesso modulo userai qualcosa come
Codice: Seleziona tutto
Sub MsgBoxW()
Dim MBText As String, MBTitle As String

    MBText = ChrW(55357) & ChrW(56986) & ": Arrivo atteso alle 12:00"       'Il messaggio
    MBTitle = "Messaggio per te..."                                         'Il titolo del msgbox
    Rispo = MessageBoxW(0, StrPtr(MBText), StrPtr(MBTitle), 0) '0=Ok only   'Show
 
End Sub

Per quanto riguarda il testo di una mail, se usi il formato html per il body della mail allora dovresti riuscire a visualizzare l'icona usando l' Html Escape code.

Io ho usato, per prova
Codice: Seleziona tutto
        .htmlBody = "🚚 " & ": Arrivo atteso alle 12:00"

Giacche' ci siamo, copiando quando ti ha proposto FRIEDRICH, se vuoi inserire l'icona in una cella allora potremmo anche creare una funzione ad hoc; ad esempio, da mettere in un Modulo standard del vba:
Codice: Seleziona tutto
Function myTruck(Optional TruckNum As Long = 1) As String
Dim I As Long
For I = 1 To TruckNum
    myTruck = myTruck & ChrW(55357) & ChrW(56986)
Next I
End Function

Poi in una cella potrai scrivere la formula
Codice: Seleziona tutto
=myTruck()

Se vuoi piu' icone puoi specificare il numero; es
Codice: Seleziona tutto
=myTruck(2)

Inutile dire che potrai combinare myTruck come tutte le funzioni Excel; es
Codice: Seleziona tutto
=myTruck() & ": In arrivo per le 12:00"


Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 16453
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "EMOJI IN MSGBOX, CELLE E TESTOMAIL OUTLOOK":


Chi c’è in linea

Visitano il forum: Marius44 e 21 ospiti