Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ouvrir le client mail par défaut et pré-écrire un message dans le corps sur plusieurs lignes

2 réponses
Avatar
Bull
Bonjour,

J'utilise la fonction suivante afin d'ouvrir le client mail par défaut à
partir de mon application :

Public Function OpenEmail(ByVal EmailAddress As String, _

Optional ByVal Subject As String = "", _

Optional ByVal Body As String = "") _

As Boolean

Dim bAns As Boolean = True

Dim sParams As String

sParams = EmailAddress

If LCase(Strings.Left(sParams, 7)) <> "mailto:" Then _

sParams = "mailto:" & sParams

If Subject <> "" Then sParams = sParams & _

"?subject=" & Subject

If Body <> "" Then

sParams = sParams & IIf(Subject = "", "?", "&")

sParams = sParams & "body=" & Body

End If

Try

System.Diagnostics.Process.Start(sParams)

Catch

bans = False

End Try

Return bAns

End Function


Le problème est que je voudrais pouvoir passer en paramètre un message pour
le corps du texte contenant des retours chariots. J'ai bien essayé les
chr(13) mais rien à faire.

Quelqu'un aurait-il la solution en utilisant ce code ou en proposant une
autre fonction ?

Merci d'avance,
Bull

2 réponses

Avatar
Zazar
Bonjour,

J'utilise la fonction suivante afin d'ouvrir le client mail par défaut à
partir de mon application :



(snip)

Le problème est que je voudrais pouvoir passer en paramètre un message


pour
le corps du texte contenant des retours chariots. J'ai bien essayé les
chr(13) mais rien à faire.



Vous pouvez escaper les caractères : %xx signigie le caractère dont le code
ascii en héxadécimal vaut xx. Vous pouver donc remplacer vos retour chariot
par des %0A.
De plus, faîtes attention : votre code ne vérifie pas dans les champs si il
y a des caractères ayant une signification pour le mailto. Et attention
aussi à la taille totale, certains clients mails (Outlook 2003 par exemple)
ne fonctionnent pas si elle est trop grande.

--
Zazar
Avatar
Bull
Merci beaucoup Zazar ça marche nickel. Pour mon code, il ne fait pas ces
vérifications car le sujet et le message ne sera pas modifiable par
l'utilisateur (ça me permet de faire un bouton "En parler à un ami").

Encore merci

Bull

"Zazar" a écrit dans le message
de news:
Vous pouvez escaper les caractères : %xx signigie le caractère dont le


code
ascii en héxadécimal vaut xx. Vous pouver donc remplacer vos retour


chariot
par des %0A.
De plus, faîtes attention : votre code ne vérifie pas dans les champs si


il
y a des caractères ayant une signification pour le mailto. Et attention
aussi à la taille totale, certains clients mails (Outlook 2003 par


exemple)
ne fonctionnent pas si elle est trop grande.

--
Zazar