Encodage url

spyderco Messages postés 16 Date d'inscription mardi 25 janvier 2005 Statut Membre Dernière intervention 22 mai 2006 - 2 mai 2006 à 09:30
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 3 mai 2006 à 10:29
Bonjour,

Je souhaite faire passer une url (qui permet d'envoyer un mail) par hyperlink.

Le problemme c'est que cette url contient des caracteres speciaux et je ne trouve pas leurs equivalent en vb.

J'ai reussis a trouver pour certains :

%3B : chr(58)
%3A : chr(59)
%40 : chr(64)

Mais je n'ai pas trouver pour :
%0D
%0A
ou les deux liés (?) %0D%0A

Si vous pouviez éclairer ma lanterne

6 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
2 mai 2006 à 11:38
Bonjour

A titre d'info : %3B , 3B c'est le code Hexa du caractère :
0D : 13
0A : 10
 soit VbCrLf.

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 mai 2006 à 11:40
salut,
hexa?!

3B -> B = 1111+ 3*16 11 + 48 58 -> chr(58)
40 0+4*16 64 -> chr(64)
0D 13+0 chr(13)0A 10+0 chr(10)
les 2 ? chr(13)+chr(10) = vbcrlf ou vbnewline

@+
PCPT  [AFCK]
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 mai 2006 à 11:43
woups on s'est croisé, salut NHenry ;)
ps : A 10, B 11    -> 3B = chr(59)
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
2 mai 2006 à 11:56
Salut PCPT.

réponses complémentaires.

Bon appetit à tous.

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
spyderco Messages postés 16 Date d'inscription mardi 25 janvier 2005 Statut Membre Dernière intervention 22 mai 2006
3 mai 2006 à 09:18
Merci a vous deux pour vos reponses. Ca m'a bien aidé mais j'ai encore un probleme.

Voila l'url que je fait passr par hyperlink :

addbook:add'action=add?vcard=begin%3Avcard%0D%0Afn%3ADupond%20PIERRE%0D%0An%3APierre%3BDUPOND%0D%0Aorg%3ASociete%0D%0Aemail%3Binternet%3Adpierre%40adresse.fr%0D%0Ax-mozilla-html%3ATRUE%0D%0Aversion%3A2.1%0D%0Aend%3Avcard%0D%0A%0D%0A

Voila le code que j'utilise pour l'envoi d'email :

URLto = "mailto:" & MailAd & "?subject=" & Subj & "&body=" & msg
ActiveWorkbook.FollowHyperlink Address:=URLto

Le lien est contenu dans la variable msg

Le probleme c'est que le lien contenu dans le mail n'est pas complet, il est de cette forme :
addbook:add'action=add?vcard=begin

J'ai essayer dans remplacer l'encodage d'url par des chr() mais ca bloque jusqu'a Dupond
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
3 mai 2006 à 10:29
Bonjour

Je suppose que tu code en VB6.

mStr : chaine URL avec les %
dim lStr as string
dim lInt as long
do while instr(mStr,"%")>0
    lStr=mid$(mStr,instr(mStr,"%"),3) 'On recup le premier % trouvé et les 2 caractères qui le suivent
    lInt=val("&h"+replace(lStr,"%","")'On les convertits en long
    mStr=replace(mStr,lStr,chr(lInt)) 'puis on les remplace
loop

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
0
Rejoignez-nous