Teammanager : multipostage sms+mail

Soyez le premier à donner votre avis sur cette source.

Vue 7 093 fois - Téléchargée 694 fois

Description

Si comme moi vous managez une équipe de volley (ou autre), vous avez certainement déjà remarqué qu'au bout d'un moment, ceux qu'on voit le plus souvent aux matches sont dans l'ordre :
1 : ceux qui ont un EMail
2 : ceux qui ont seulement un téléphone mobile
3 : ceux qui ont seulement un téléphone fixe.
Si pour ces derniers on ne peut plus rien faire, TeamManager peut par contre vous aidez à relancer les autres plus facilement. D'une façon plus générale, TeamManager est un outil de base de ce que l'on pourrait qualifier le "confort moderne".

Source / Exemple :


Merci à Nix pour les mails et à Adrien pour les SMS pour leur contribution essentielle :
www.vbfrance.com/article.asp?Val=123 Nix : nix@codes-sources.com 
www.vbfrance.com/article.asp?Val=1847 Adrien : fageor@aol.com

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1221
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018

Attention : msmapi32.ocx plante parfois sous Windows 9x (il semble bien marcher sous Win2k), parfois il provoque l'erreur n° 30000 : "Erreur au chargement de la DLL MAPI". Même un faisant un package d'installation, avec VB6 Setup Wizard ou bien avec Visual Studio Installer 1.1, cela ne résout pas le problème : l'envoie de mail risque de ne pas marcher dans un Windows 98 vierge de tout logiciel spécifique.
Quand il n'y a pas de fichier joint au mail, on pourrait remplacer l'ocx par une API très simple, mais les sauts de lignes ne sont pas supportés et il faut valider chaque envoi :

' API pour la sub EnvoyerEMail
Private Declare Function ShellExecute& Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal hwnd&, ByVal lpOperation$, _
ByVal lpFile$, ByVal lpParameters$, ByVal lpDirectory$, _
ByVal nShowCmd&)

Public Sub EnvoyerEMail(sAdresse$, Optional sSujet$, _
Optional sContenu$, Optional sCC$, Optional sCCC$)

Dim sCmd$

' Créé la chaîne de commande avec les paramètres fournis
If Len(sSujet) Then sCmd = "&Subject=" & sSujet
' Pb : les sauts de ligne dans le contenu ne sont pas gérés !?
If Len(sContenu) Then sCmd = sCmd & "&Body=" & sContenu
' Ne marche pas avec Outlook Express :
'If Len(sFichierJoint) Then sCmd = sCmd & "&Attach='" & sFichierJoint & "'"
If Len(sCC) Then sCmd = sCmd & "&CC=" & sCC ' Copie carbonne
If Len(sCCC) Then sCmd = sCmd & "&BCC=" & sCCC

' Remplace le premier '&' (s'il existe) par un '?'
If Mid(sCmd, 1, 1) "&" Then Mid(sCmd, 1, 1) "?"

' Ajoute la commande 'mailto:' et l'adresse
sCmd = "mailto:" & sAdresse & sCmd

' Execute la commande par l'API
Const SW_SHOWNORMAL& = 1
Call ShellExecute(0, "open", sCmd, _
vbNullString, vbNullString, SW_SHOWNORMAL)

End Sub
Messages postés
1221
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018

Note : il est inutile de fermer outlook, il suffit de mettre à False les 2 options suivantes dans le ctrl MAPISession :
DownLoadMail = False
LogonUI = False
Et l'envoi de mail ne fait plus planter Outlook, on peut même préparer l'envoi de mail en hors-ligne sans problème.
Messages postés
1221
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018

Ya du nouveau ! allez voir www.vbfrance.com/listeauteur2.asp?Val=5457
ce sont les contributions de buisson.sf@caramail.com sur les sms
apparement, il a trouvé un nouveau serveur de sms gratuit :
Form2.WebBrowser1.Navigate "http://www.freetexto.com/ModuleSend.php3?from=" & Text1.Text & "&to=" & Text2.Text & "&msg=" & Text3.Text & ""
Messages postés
1221
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018

note : les SMS ne marchent plus depuis Octobre 2001, car le serveur web utilisé ne sert plus les SMS gratuitement, il faut en trouver un autre...
Le batch : ça sert pour pourvoir revenir en arrière en cas de modification du code source !

Bonne nouvelle : les SMS marchent !
en tout cas au moins 1, car pour plusieurs SMS consécutifs, je ne sais pas si la pause de 2 secondes qui figurait dans le code src original est suffisant. Il faudrait peut être plutôt récupérer un évènement Web.NavigateComplete après l'appel de Web.Navigate. Au fait, je n'ai pas de téléphone mobile, alors si quelqu'un veut faire le test... il faut parfois attendre une journée pour recevoir le SMS !
Mauvaise nouvelle : les destinataires des SMS risquent de recevoir ... de la pub !!!
bah ! si on regarde le bon coté des choses, pour que le service soit pérenne et donc qu'il reste gratuit pour nous, il faut bien qu'il y en ait qui paye !

Pour information :
MSDN : "you can use the Busy property of the WebBrowser control to wait until the browser has finished loading the document. Also, you can use the NavigateComplete event of the WebBrowser control to signal that the document has finished loading."

Donc :

Web1.Navigate sServeurSMS & "?num=" & sMobile & "&mess=" & Me!TxtMessage
Do
DoEvents
Loop While Web1.Busy

J'ai essayé, mais il reste toujours occupé à partir du second SMS, il faut peut être réinitialiser quelque chose. Autre solution :

bNavigateComplete = False ' Variable globale au formulaire
Web1.Navigate sServeurSMS & "?num=" & sMobile & "&mess=" & Me!TxtMessage
Do
DoEvents
Loop While Not bNavigateComplete

Private Sub Web1_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
bNavigateComplete = True
End Sub

Même résultat ! ça serait bien si ça marchait quand même !
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.