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 Discussion :

Lister les mails et les pièces jointes d'une boîte mail Lotus Notes


Sujet :

VBA

  1. #1
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Points : 958
    Points
    958
    Par défaut Lister les mails et les pièces jointes d'une boîte mail Lotus Notes
    Bonjour
    Le code ci-dessous permet de lister les mails et leurs pièces jointes d'une base Lotus Notes. Cependant, il ne fonctionne pas pour lister les pièces jointes. Il plante ligne 45 avec une erreur 424 : Objet requis.
    Quelqu'un pourrait-il me dire pourquoi ?


    Merci

    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
    Public Sub getMails()
     
        Dim NSession As Object      'NotesSession
        Dim NMailDb As Object       'NotesDatabase
        Dim NDocs As Object         'NotesDocumentCollection
        Dim NDoc As Object          'NotesDocument
        Dim NNextDoc As Object      'NotesDocument
        Dim NItem As Object         'NotesItem
        'Dim NFile As NotesFile         'NotesFile
        Dim obj As Object
        Dim EmbeddedObjects As Object
        Dim view As String
        Dim filterText As String
     
        view = "$INBOX"       'Name of view or folder to retrieve documents from
        'view = "$SENT"       'Name of view or folder to retrieve documents from
        view = "$ALL"       'Name of view or folder to retrieve documents from
        filterText = ""     'Optional text string to filter the view
     
        Set NSession = CreateObject("Notes.NotesSession")
        Set NMailDb = NSession.GETDATABASE("", "")  'Default server and database
        If Not NMailDb.IsOpen Then
            NMailDb.OPENMAIL
        End If
     
        Set NDocs = NMailDb.GETVIEW(view)
        NDocs.Clear
     
        'Apply optional filter
     
        If filterText <> "" Then
            NDocs.FTSEARCH filterText, 0, 32
        End If
     
        Set NDoc = NDocs.GETFIRSTDOCUMENT
        Do Until NDoc Is Nothing
            Set NNextDoc = NDocs.GETNEXTDOCUMENT(NDoc)
            Set NItem = NDoc.GETFIRSTITEM("Body")
            If Not NItem Is Nothing Then
                Debug.Print "Sujet : " & NDoc.GETITEMVALUE("Subject")(0)
                Debug.Print "Date : " & NDoc.GETITEMVALUE("PostedDate")(0)
                If NDoc.HasEmbedded Then
                'If Not IsEmpty(NItem.EmbeddedObjects) Then
                    'obj = NItem.GetEmbeddedObject
                    For Each obj In NItem.EmbeddedObjects
                        If (obj.Type = 1454) Then
                            'Debug.Print NotesEmbeddedObject("Name")
                        End If
                    Next
                End If
                'MsgBox prompt:=NItem.Text, Title:=NDoc.GETITEMVALUE("Subject")(0)
            End If
            Set NDoc = NNextDoc
        Loop
     
    End Sub

  2. #2
    Membre régulier
    Homme Profil pro
    Passioné
    Inscrit en
    Août 2009
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Passioné
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 82
    Points : 116
    Points
    116
    Par défaut
    J'utilise un code similaire mais ma variable "obj" est un "Variant".

    Essai d'intégrer le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim obj as Variant
     
    For Each obj In NItem.EmbeddedObjects
         If (obj.Type = EMBED_ATTACHMENT) Then
              Debug.Print obj.name
         End if
    Next

  3. #3
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Points : 958
    Points
    958
    Par défaut
    Merci, ça fonctionne ! J'aimerais savoir pourquoi, mais au moins, ça me dépanne bien.

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Citation Envoyé par guidav Voir le message
    J'aimerais savoir pourquoi
    Bonjour,

    c'est indiqué clairement pourquoi dans l'aide intégrée VBA de l'instruction For Each

    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #5
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Points : 958
    Points
    958
    Par défaut
    Ah oui en effet... j'ai honte. Je cherchais un problème au niveau de Lotus et de son absence de doc, mais la réponse était sous mes yeux.
    Merci

    Citation Envoyé par Marc-L Voir le message
    Bonjour,

    c'est indiqué clairement pourquoi dans l'aide intégrée VBA de l'instruction For Each


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. mail avec plusieurs pièces jointes dans les tâches planifiées
    Par gretch dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 01/08/2014, 13h27
  2. [OL-2007] Copier les pièces jointes avec une règle
    Par Franck.H dans le forum Outlook
    Réponses: 1
    Dernier message: 23/09/2013, 18h31
  3. Imprimer les mails avec leur pièce-jointes
    Par wyzer dans le forum Lotus Notes
    Réponses: 2
    Dernier message: 23/07/2012, 17h43
  4. [Mail] Ajout de Pièce jointe dans un e-mail
    Par Anduriel dans le forum Langage
    Réponses: 3
    Dernier message: 03/01/2007, 10h17

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