Visual basic, word et sendmail

cs_GASP Messages postés 4 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 8 octobre 2004 - 8 oct. 2004 à 10:58
cancolegnako Messages postés 36 Date d'inscription dimanche 15 février 2004 Statut Membre Dernière intervention 14 novembre 2004 - 20 oct. 2004 à 16:16
Bonjour,

depuis un formulaire outlook 2000 (serveur exchange)

j'exécute un script vb qui crée un document word à partir d'un modèle,

puis met a jour le doc word en fonction du contenu du formulaire, puis imprime le doc word. automatiquement.

ça marche.

en plus je veux expédier le doc word ainsi créé par mail, j'utilise donc la fonction "sendmail" de VB .

le mail est constuit, une fenêtre outlook s'ouvre pour demander le destinataire ....

le mail part bien

puis je referme automatiquement la session word ouverte.

mon problème est je ne sait pas attendre la fin de l'envoi du mail avant de refermer word. Et donc quand j'exécute la commande 'QUIT' word ne se referme pas si le mail n'est pas encore parti ....

comment faire pour attendre la fin du mail avant de fermer word ?

Merci.

gasp 8-)

3 réponses

cs_trabice Messages postés 328 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 24 novembre 2005 1
8 oct. 2004 à 12:41
ben pour attendre un "truc"
je dirai DO event mé je suis pas sur que ca marchera....
sinon fait tourner ta source ce sera sympa :-)

Bonne continuation

fabrice
0
cs_GASP Messages postés 4 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 8 octobre 2004
8 oct. 2004 à 12:53
pour le source, voila :


Sub cmdMail_Click()
   Set oWordApp = CreateObject("Word.Application")
   If oWordApp Is Nothing Then
      MsgBox "Impossible de démarrer Word."
   Else
      Dim oWordApp
      Dim oWordDoc

      ' Ouvre un nouveau document
      Set oDoc = oWordApp.Documents.Add("monmodele.dot")

      ' la syntaxe suivante pour transférer le contenu d'un
      ' champ défini par l'utilisateur (NomChamp) dans Word :
      
strchamp=UserProperties.Find("CODEDOSSIER")
      oDoc.FormFields("ID1A").Result = strchamp

strchamp=UserProperties.Find("DEIGNATIONCLIENT")
      oDoc.FormFields("ID2A").Result = strchamp

' Email le document word
            oWordApp.Options.SendMailAttach = True
            oDoc.SendMail

      ' Ferme le document sans enregistrer les modifications qui lui ont été apportées
      Const wdDoNotSaveChanges = 0
      oDoc.Close wdDoNotSaveChanges

      ' Ferme l'instance de Word
      oWordApp.Quit

      ' Nettoie
      Set oDoc = Nothing
      Set oWordApp = Nothing
   End If
End Sub 
    


Le promblème est que 'oDoc.SendMail' rends la main avant l'envoi du message ....

gasp 8-)
0
cancolegnako Messages postés 36 Date d'inscription dimanche 15 février 2004 Statut Membre Dernière intervention 14 novembre 2004
20 oct. 2004 à 16:16
est il possible de faire passer l addresse d envoi depuis une macro vb de word a la fonction sendmail?
Merci
0
Rejoignez-nous