Problème gestion erreur VBS

Résolu
TMesdo Messages postés 2 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 15 novembre 2007 - 13 nov. 2007 à 17:15
TMesdo Messages postés 2 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 15 novembre 2007 - 15 nov. 2007 à 10:05
Salut tout le monde, 1e post ici parce que ca fais quelques heures que je cherche déséperemment la réponse a mon problème. Je m'explique, je code actuellement un assez gros programmes en VBS qui tourne pas mal et qui envoi pas mal de mail (pas de spam, rassurez vous) a tout les clients de la société (qui n'ont pas payé ! bouh, les méchants).

Ca fonctionne bien donc, SAUF lorsque par exemple, dans la base une adresse est mal saisie. Genre : michel@tjre*"%'&. Le server exchange apprécie pas vraiment. Donc j'ai voulu faire une gestion d'erreur assez "détaillé pour moi, en me donnant les info du client en question pour ensuite me l'envoyer par mail.

Le problème :

errcontenu =  typ & from & fromnom & qui & quinom & contenu & bloc & blocmotif & accord
wscript.echo "1 : " & errcontenu
    envoimail = "Envoyé !
"
wscript.echo "2 : " & errcontenu
    myMail.Send
wscript.echo "3 : " & errcontenu
    set myMail=nothing
wscript.echo "4 : " & errcontenu
   err_ 42,4,errcontenu

Ce qui se passe : il m'affiche bien le 1 avec les valeur de errcontenu, le 2 aussi et quand il arrive au 3.... bah en fait ya meme pas de 3 qui apparait, du moment qu'il a une erreur, tout ce qui se passe après le "myMail.Send" n'est plus traité. J'ai utilisé du "on error resume next" et a vrai dire, meme sans, passe pas non plus.

Si quelqu'un avait une idée, merci de me le dire au plus vite (j'ai deja utilisé ce type de gestion d'erreur dans d'autre fichiers et ca passait nickel )

2 réponses

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
13 nov. 2007 à 19:21
 Bonsoir,

L'objet RegExp permet la gestion des expressions régulières.
Exemple trouvé et adapté.

Function SubMatchTest(inpStr)
  Dim oRe, oMatch, oMatches
  Set oRe = New RegExp
  ' Rechercher une adresse électronique(pas une RegExp parfaite)
  oRe.Pattern = "(\w+)@(\w+)\.(\w+)"
  ' Obtenir la collection Matches
  Set oMatches = oRe.Execute(inpStr)
  ' Obtenir le premier élément de la collection Matches
  MsgBox oMatches.Count  If oMatches.Count 0 Then SubMatchTest "adresse incorrecte" : Exit Function
  Set oMatch = oMatches(0)
  ' Créer la chaîne de résultats.
  ' L'objet Match est la correspondance exacte - dragon@xyzzy.com
  retStr = "L'adresse électronique est : " & oMatch & vbNewline
  ' Obtenir les sous-correspondances de l'adresse.
  retStr = retStr & "L'alias de l'adresse est : " & oMatch.SubMatches(0)  ' dragon
  retStr = retStr & vbNewline
  retStr = retStr & "La société est : " & oMatch. SubMatches(1)' xyzzy
  SubMatchTest = retStr
End Function

MsgBox(SubMatchTest("Veuillez envoyer un courrier électronique à dragon@xyz!zytoto.com. Merci!"))

MsgBox(SubMatchTest("Veuillez envoyer un courrier électronique à dragon@xyzzytoto.com. Merci!"))

jean-marc
3
TMesdo Messages postés 2 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 15 novembre 2007
15 nov. 2007 à 10:05
Oui, effectivement, au lieu de gérer l'erreur, je vais gérer ca en amont, merci bien :)
0
Rejoignez-nous