Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WD12] Recuperer des mails dans Windev

2 réponses
Avatar
Michel
Bonjour

je cherche a recuperer dasn une fenetre windev des mails, venant
d'outlook, ou outlook express ...... par un drag and drop
En fait ce que je voudrais faire, c'est comme dans les clients de
messagerie, si on tire le mail vers 1 repertoire windows , il cree 1
fichier .eml, ou si on le tire vers 1 document word, il cee 1 paquet
avec le mail. Moi je voudrais le recuperer dans 1 zone memo, ou le
stocker sur disque et garder le lien du fichier .eml

Je viens de chercher pendant 1 bon moment avec les fonctions de drag
and drop de windows, et j'avance pas

Pensez vous que ce soit possible ? et avez vous le debut d'un
commencement d'idee a me donner pour orienter mes recherches ?

Merci d'avance

Michel

2 réponses

Avatar
Yannick
On 10 juil, 18:24, Michel wrote:
Bonjour

je cherche a recuperer dasn une fenetre windev des mails, venant
d'outlook, ou outlook express ...... par un drag and drop
En fait ce que je voudrais faire, c'est comme dans les clients de
messagerie, si on tire le mail vers 1 repertoire windows , il cree 1
fichier .eml, ou si on le tire vers 1 document word, il cee 1 paquet
avec le mail. Moi je voudrais le recuperer dans 1 zone memo, ou le
stocker sur disque et garder le lien du fichier .eml

Je viens de chercher pendant 1 bon moment avec les fonctions de drag
and drop de windows, et j'avance pas

Pensez vous que ce soit possible ? et avez vous le debut d'un
commencement d'idee a me donner pour orienter mes recherches ?

Merci d'avance

Michel



Bonjour

J'ai programmé il y a quelques temps du code VBA permettant d'envoyer
dans une application Windev les documents joints à un mail depuis
Outlook.
Je sais que ça ne répond pas à la question, et même que la
problématique est inverse mais bon, ça peut être intéressant.

Yannick

Sub PJ()

Dim LesFic As String
Dim AuMoinsUn As Boolean
Dim strEntryID As String

'parcours des fichiers attachés
Dim objAtt As Attachment, objAtts As Attachments, objCurrentMessage As
mailItem

Select Case Application.ActiveWindow.Class
Case olInspector
Set objCurrentMessage = ActiveInspector.CurrentItem
Set objAtts = objCurrentMessage.Attachments
nb_attach = objAtts.Count
If nb_attach = 0 Then
erreur = "Pas de fichiers joints"
GoTo Fin
End If
'on crée le repertoire où mettre les fichiers joints
repertoire = "c:tempGestionPJ"
If repertoire <> "" Then
If "" = Dir(repertoire, vbDirectory) Then
MkDir repertoire
End If
End If
'#########Traitement des fichiers joints
'liste = ""
If objCurrentMessage.EntryID = "" Then objCurrentMessage.Save
strEntryID = objCurrentMessage.EntryID
For Each objAtt In objAtts
'ajoutter un controle dir sur le fichier et mettre l'index
devant le nom pour les doublons
objAtt.SaveAsFile repertoire & objAtt.FileName
LesFic = LesFic & """" & repertoire & objAtt.FileName &
"""" & " "
AuMoinsUn = True
Next
'MsgBox LesFic
If AuMoinsUn Then Shell "C:GestionPJGestionPJ.exe " &
LesFic, vbNormalFocus
Case olExplorer
Set myOlSel = Application.ActiveExplorer.Selection
If myOlSel.Count > 0 Then
For x = 1 To myOlSel.Count
Set objCurrentMessage = myOlSel.Item(x)
Set objAtts = objCurrentMessage.Attachments
nb_attach = objAtts.Count
If nb_attach = 0 Then
erreur = "Pas de fichiers joints"
GoTo Fin
End If
'on crée le repertoire où mettre les fichiers joints
repertoire = "c:tempGestionPJ"
If repertoire <> "" Then
If "" = Dir(repertoire, vbDirectory) Then
MkDir repertoire
End If
End If
'#########Traitement des fichiers joints
'liste = ""
If objCurrentMessage.EntryID = "" Then
objCurrentMessage.Save
strEntryID = objCurrentMessage.EntryID
For Each objAtt In objAtts
'ajoutter un controle dir sur le fichier et mettre
l'index devant le nom pour les doublons
objAtt.SaveAsFile repertoire & objAtt.FileName
LesFic = LesFic & """" & repertoire &
objAtt.FileName & """" & " "
AuMoinsUn = True
Next
Next
'MsgBox LesFic
If AuMoinsUn Then Shell "C:GestionPJGestionPJ.exe " &
LesFic, vbNormalFocus
End If
Case Else
GoTo Fin
End Select

Fin:
Set objCurrentMessage = Nothing
Set objAtts = Nothing
Set nb_attach = Nothing
End Sub
Avatar
Michel
On 13 jul, 08:50, Yannick wrote:
On 10 juil, 18:24, Michel wrote:



> Bonjour

> je cherche a recuperer dasn une fenetre windev des mails, venant
> d'outlook, ou outlook express ...... par un drag and drop
> En fait ce que je voudrais faire, c'est comme dans les clients de
> messagerie, si on tire le mail vers 1 repertoire windows , il cree 1
> fichier .eml, ou si on le tire vers 1 document word, il cee 1 paquet
> avec le mail. Moi je voudrais le recuperer dans 1 zone memo, ou le
> stocker sur disque et garder le lien du fichier .eml

> Je viens de chercher pendant 1 bon moment avec les fonctions de drag
> and drop de windows, et j'avance pas

> Pensez vous que ce soit possible ? et avez vous le debut d'un
> commencement d'idee a me donner pour orienter mes recherches ?

> Merci d'avance

> Michel

Bonjour

J'ai programmé il y a quelques temps du code VBA permettant d'envoyer
dans une application Windev les documents joints à un mail depuis
Outlook.
Je sais que ça ne répond pas à la question, et même que la
problématique est inverse mais bon, ça peut être intéressant.

Yannick

Sub PJ()

Dim LesFic As String
Dim AuMoinsUn As Boolean
Dim strEntryID As String

'parcours des fichiers attachés
Dim objAtt As Attachment, objAtts As Attachments, objCurrentMessage As
mailItem

Select Case Application.ActiveWindow.Class
    Case olInspector
        Set objCurrentMessage = ActiveInspector.CurrentItem
        Set objAtts = objCurrentMessage.Attachments
        nb_attach = objAtts.Count
        If nb_attach = 0 Then
            erreur = "Pas de fichiers joints"
            GoTo Fin
        End If
        'on crée le repertoire où mettre les fichiers joints
        repertoire = "c:tempGestionPJ"
        If repertoire <> "" Then
            If "" = Dir(repertoire, vbDirectory) Then
            MkDir repertoire
            End If
        End If
        '#########Traitement des fichiers joints
        'liste = ""
        If objCurrentMessage.EntryID = "" Then objCurrentMessag e.Save
        strEntryID = objCurrentMessage.EntryID
        For Each objAtt In objAtts
            'ajoutter un controle dir sur le fichier et mettr e l'index
devant le nom pour les doublons
            objAtt.SaveAsFile repertoire & objAtt.FileName
            LesFic = LesFic & """" & repertoire & objAtt.Fi leName &
"""" & " "
            AuMoinsUn = True
        Next
        'MsgBox LesFic
        If AuMoinsUn Then Shell "C:GestionPJGestionPJ.exe " &
LesFic, vbNormalFocus
    Case olExplorer
        Set myOlSel = Application.ActiveExplorer.Selection
        If myOlSel.Count > 0 Then
            For x = 1 To myOlSel.Count
                Set objCurrentMessage = myOlSel.Item(x)
                Set objAtts = objCurrentMessage.Attachm ents
                nb_attach = objAtts.Count
                If nb_attach = 0 Then
                    erreur = "Pas de fichiers joint s"
                    GoTo Fin
                End If
                'on crée le repertoire où mettre les fichiers joints
                repertoire = "c:tempGestionPJ"
                If repertoire <> "" Then
                    If "" = Dir(repertoire, vbDirec tory) Then
                    MkDir repertoire
                    End If
                End If
                '#########Traitement des fichiers joints
                'liste = ""
                If objCurrentMessage.EntryID = "" Then
objCurrentMessage.Save
                strEntryID = objCurrentMessage.EntryID
                For Each objAtt In objAtts
                    'ajoutter un controle dir sur le fichier et mettre
l'index devant le nom pour les doublons
                    objAtt.SaveAsFile repertoire & ob jAtt.FileName
                    LesFic = LesFic & """" & repert oire &
objAtt.FileName & """" & " "
                    AuMoinsUn = True
                Next
            Next
            'MsgBox LesFic
            If AuMoinsUn Then Shell "C:GestionPJGestionPJ.e xe " &
LesFic, vbNormalFocus
        End If
    Case Else
        GoTo Fin
End Select

Fin:
Set objCurrentMessage = Nothing
Set objAtts = Nothing
Set nb_attach = Nothing
End Sub



Merci, deja ca va me servir. Si je ne peux l'envoyer par un drag en
drop, en utilisant cette macro, je peux creer les fichiers
temporaires , et les traiter a partir de mon appli.

Merci beaucoup pour cette piste

Michel