IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Envoi mail via lotus 8.5 par VBA


Sujet :

VBA Access

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 467
    Points : 149
    Points
    149
    Par défaut Envoi mail via lotus 8.5 par VBA
    Bonjour à tous

    J'ai trouvé ce code et j'essaie de l'appliquer dans mon application. Il m'indique un message d'erreur "Access ne peut pas trouver "SendNotesMail.

    Merci pour votre aide.

    Bien à vous tous

    Habiler

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    Private Sub Command260_Click()
    On Error GoTo Err_Command260_Click
     
        Dim stDocName As String
     
        stDocName = "SendNotesMail"
        DoCmd.RunMacro stDocName
     
    Exit_Command260_Click:
        Exit Sub
     
    Err_Command260_Click:
        MsgBox Err.Description
        Resume Exit_Command260_Click
     
    End Sub
     
    Public Function SendNotesMail()
    'This public sub will send a mail and attachment if neccessary to the recipient including the body text.
    'Requires that notes client is installed on the system.
     
    'Set up the objects required for Automation into lotus notes
     
    Dim Subject As String
    Dim Attachment As String
    Dim Recipient As String
    Dim BodyText As String
    Dim SaveIt As Boolean
    Dim Maildb As Object 'The mail database
    Dim UserName As String 'The current users notes name
    Dim MailDbName As String 'THe current users notes mail database name
    Dim MailDoc As Object 'The mail document itself
    Dim AttachME As Object 'The attachment richtextfile object
    Dim Session As Object 'The notes session
    Dim EmbedObj As Object 'The embedded object (Attachment)
    Dim EmailSend As Object
    Dim EmailApp As Object
     
    'Start a session to notes
     
    Set Session = CreateObject("Notes.NotesSession")
     
    'Get the sessions username and then calculate the mail file name.
    'You may or may not need this as for MailDBname with some systems you can pass an empty string
    UserName = Session.UserName
    MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
     
    'Open the mail database in notes
    Set Maildb = Session.GETDATABASE("", MailDbName)
    If Maildb.IsOpen = True Then
    'Already open for mail
    Else
    Maildb.OPENMAIL
    End If
     
    'Set up the new mail document
    Set MailDoc = Maildb.CREATEDOCUMENT
    MailDoc.Form = "Memo"
    MailDoc.sendto = "admin@tlen.pl"
    MailDoc.Subject = "TDBank Validation File"
    MailDoc.Body = "Here is your TDBank Validation File for today."
    MailDoc.SAVEMESSAGEONSEND = SaveIt
     
    'Set up the embedded object and attachment and attach it
     
    If Attachment <> "" Then
    Set AttachME = MailDoc.CREATERICHTEXTITEM.Add("H:\Document\1.pdf")
    Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment, "H:\Document\1.pdf")
    MailDoc.CREATERICHTEXTITEM ("H:\Document\1.pdf")
     
    End If
     
    'Send the document
    MailDoc.Send 0, Recipient
     
    'Clean Up
    Set Maildb = Nothing
    Set MailDoc = Nothing
    Set AttachME = Nothing
    Set Session = Nothing
    Set EmbedObj = Nothing

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 467
    Points : 149
    Points
    149
    Par défaut
    Bonjour le forum.

    J'ai trouvé un nouveau qui m'a l'air de fonctionner, sauf qu'il m'indique qu'il ne trouve pas Nom = "C:\Users\Desktop\Classeur1.xlsx"

    Qui pourrait m'aider SVP.

    Dans l'un ou l'autre cas.

    Merci

    Habiler


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    Sub UseLotus()
     
        Dim Session As NotesSession
        Dim db As Object
        Dim doc As Object
        Dim rtitem As Object
        Dim object As Object
        Dim fs As Object
        Dim Principaux(2) As String
        Dim Copies(3) As String
        Dim dir As Object
        Dim inti As Integer
        Dim passwd As String
     
        On Error GoTo TraiteErreur
     
        'Demande le password Lotus(Dans le cas ou la session necessite un passwd)
         passwd = InputBox("Entrer votre password Lotus:", "Password")
     
        ' Création de la session Notes
        Set Session = CreateObject("Lotus.NotesSession") ' Session n'est pas initialisé
     
        'Ouverture d'une session NOTES
        Session.Initialize (passwd) 'si pas de passwd pas de parametre pour initialize
     
        Set dir = Session.GETDBDIRECTORY("") 'FranceServer1/DCI/BME/Omnia Group
        Set db = dir.OpenMailDatabase
     
        ' Création d'un document
        Set doc = db.CREATEDOCUMENT
     
        'affectation du type mail
        Call doc.APPENDITEMVALUE("Form", "Memo")
     
        Call doc.APPENDITEMVALUE("Sendto", "mmmm@msn.com")
        Call doc.APPENDITEMVALUE("subject", "Alerte !")
        doc.SAVEMESSAGEONSEND = SaveIt 'sauvegarde du mail à l envoi
     
        Set rtitem = doc.createRichTextItem("Body")
     
     
        Dim Nom As String
        Nom = "C:\Users\Desktop\Classeur1.xlsx"
        'Attachement du classeur au mail
        Set object = rtitem.embedObject(1454, "", Nom, "")
     
        Call doc.Send(True)
        Set object = Nothing
        Set rtitem = Nothing
        Set doc = Nothing
        Set db = Nothing
        Set Session = Nothing
        Exit Sub
     
    TraiteErreur:
       MsgBox "Erreur Critique durant l envoi ." & Err.Description, vbCritical, "Error"
        Set object = Nothing
        Set rtitem = Nothing
        Set doc = Nothing
        Set db = Nothing
        Set Session = Nothing
        Set fs = Nothing
     
    End Sub

  3. #3
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Tu es sûr du chemin que tu indiques pour ton classeur ?

    a+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 467
    Points : 149
    Points
    149
    Par défaut
    Bonjour,

    Oui.

    J'ai déjà essayé avec guillemets etc mais sans succès.

    Habiler

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Rebonjour,

    Et il se passe quoi si tu exécutes ce code à la place ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell "excel.exe C:\Users\Desktop\Classeur1.xlsx", vbMaximizedFocus
    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 467
    Points : 149
    Points
    149
    Par défaut
    En fait il y avait une faute d'orthographe, mais à présent il m'indique :

    "A stored form can not contain computed subform"

    Bien à vous

    Habiler

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 467
    Points : 149
    Points
    149
    Par défaut Première lettre en MaJ.
    Bonjour La communauté

    Dans un formulaire j'ai les champs nom , prenom dans lequel je voudrais le cas échéant mettre la première lettre du nom et/ou du prénom en Maj. J'ai créé pour cela un bouton MAJMin. Comment synchroniser cette action.

    Merci à vous tous

    Habiler

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Function MiseEnMajuscule(Chaine As String) As String
    Dim nCar As Integer  'Compteur (position dans la chaine à traiter)
     
    Chaine = Trim$(Chaine) 'Récupère la chaîne sans les espaces facultatifs
    'Traitement spécifique sur le premier caractère
    MiseEnMajuscule = UCase$(Left(Chaine, 1))
    'Début de la boucle sur les autres caractères
    For nCar = 2 To Len(Chaine)
    'Teste le caractère précédent (" " ou "-")
    If (Mid$(Chaine, nCar - 1, 1) = " ") Or (Mid$(Chaine, nCar - 1, 1) = "-") Then
    'Si c'est vrai, mettre en majuscule le caractère courant
    MiseEnMajuscule = MiseEnMajuscule & UCase$(Mid(Chaine, nCar, 1))
    Else
    'Si c'est faux, mettre en minuscule le caractère courant
    MiseEnMajuscule = MiseEnMajuscule & LCase$(Mid(Chaine, nCar, 1))
    End If
    'Fin de la boucle sur les caractères
    Next
    End Function

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 467
    Points : 149
    Points
    149
    Par défaut
    Bonjour,

    En fait il y avait une faute d'orthographe, mais à présent il m'indique :

    "A stored form can not contain computed subform"

    Bien à vous

    Habiler

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Mai 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut erreur
    écrire
    Call doc.Send(false)

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/05/2014, 23h15
  2. [XL-2010] Envoi mail via Outlook depuis excel en VBA
    Par PATDRO dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/08/2012, 08h40
  3. Envoie mail via Lotus
    Par Julien42 dans le forum Access
    Réponses: 1
    Dernier message: 27/07/2010, 17h35
  4. Envoi mail via lotus
    Par ludojojo dans le forum VBScript
    Réponses: 6
    Dernier message: 18/08/2009, 12h28
  5. envoi mails via lotus 7
    Par FERREY45 dans le forum VBA Access
    Réponses: 0
    Dernier message: 11/01/2008, 10h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo