Newsgroup: it.comp.lang.visual-basic
Titolo: outlook & vb

ciao a tutti.
sto usando vb6 da poco quindi perdonatemi se questa risposta l'avete
già data.... qualcuno mi saprebbe dire (o indicarmi dove posso
documentarmi) come posso poter leggere le email di una casella di posta
su un server ms-exchange 2000? dovrei riuscire a "tirare fuori" un file
(txt) allegato, salvarlo in una cartella del mio disco fisso per poi
elaborarlo, in pratica importare il contenuto in un file access. grazie
per la vs pazienza ed il vs aiuto.


  Prova a studiarti nell'help di VB il controllo Microsoft MAPI
  oppure se vuoi fare tutto piu' a basso livello puoi studiarti il controllo
WinSock
  (ma se sei alle prime armi te lo sconsiglio)
Ciao
-- 
Fabio
http://www.codice.it

 wrote in message
news:1127123215.1...@g44g2000cwa.googlegroups.com

Potrebbe essere che abbia frainteso l'esigenza reale, ma
sinceramente non vedo la difficoltà di usare l'Automazione
di Outlook, che in questo caso ritengo assolutamente comoda.
Ti sbrodolo un po di codice che consente di accedere ai Messaggi
di Outlook e salvarli in una Tabella, non ho tempo per pulire
il codice al fine di farti vedere solo quello che ti serve, ma
vedi tu....!
Sub ImportMails()
On Error Resume Next
Dim strAttachment As String
Dim strSql As String
Dim rsMail As DAO.Recordset
Dim tdf As DAO.TableDef
 
Dim Ol_App As New Outlook.Application
Dim Ol_MAPI As Outlook.NameSpace
Dim Ol_Folder As Outlook.MAPIFolder
Dim Ol_Items As Outlook.MailItem
Dim Ol_Attach As Outlook.Attachment
Set tdf = CurrentDb.TableDefs("TblMails")
If tdf Is Nothing Then
    strSql = "CREATE TABLE TblMails (" & _
        "CreationTime DATE," & _
        "LastModificationTime DATE," & _
        "SenderName CHAR(50)," & _
        "SenderAddress CHAR(50)," & _
        "SentOn DATE," & _
        "Sent YESNO," & _
        "TO CHAR(255)," & _
        "CC CHAR(255)," & _
        "BCC CHAR(255)," & _
        "UnRead YESNO," & _
        "ReceivedByName CHAR(50)," & _
        "ReceivedOnBehalfOfName CHAR(100)," & _
        "ReceivedTime DATE," & _
        "ConversationTopic CHAR(255)," & _
        "Subject CHAR(255)," & _
        "Categories CHAR(50)," & _
        "HTMLBody MEMO," & _
        "Size Long," & _
        "Attachments CHAR(255));"
        CurrentDb.Execute strSql
End If
Set rsMail = CurrentDb.OpenRecordset("TblMails")
Set Ol_MAPI = Ol_App.GetNamespace("MAPI")
Set Ol_Folder = Ol_MAPI.PickFolder
 
  For Each Ol_Items In Ol_Folder.Items
 
     For Each Ol_Attach In Ol_Items.Attachments
      strAttachment = strAttachment & Ol_Attach.DisplayName & vbCrLf
     Next Ol_Attach
 
   With rsMail
    .AddNew
    .Fields("BCC") = Ol_Items.Bcc
    .Fields("Categories") = Ol_Items.Categories
    .Fields("CC") = Ol_Items.CC
    .Fields("ConversationTopic") = Ol_Items.ConversationTopic
    .Fields("CreationTime") = Ol_Items.CreationTime
    .Fields("HTMLBody") = Ol_Items.HTMLBody
    .Fields("LastModificationTime") = Ol_Items.LastModificationTime
    .Fields("ReceivedByName") = Ol_Items.ReceivedByName
    .Fields("ReceivedOnBehalfOfName") = Ol_Items.ReceivedOnBehalfOfName
    .Fields("ReceivedTime") = Ol_Items.ReceivedTime
    .Fields("SenderName") = Ol_Items.SenderName
    .Fields("Sent") = Ol_Items.Sent
    .Fields("SentOn") = Ol_Items.SentOn
    .Fields("SenderAddress") = Ol_Items.Reply.Recipients.Item(1).Address
    .Fields("Size") = Ol_Items.Size
    .Fields("Subject") = Ol_Items.Subject
    .Fields("TO") = Ol_Items.To
    .Fields("UnRead") = Ol_Items.UnRead
    .Fields("Attachments") = strAttachment
    .Update
   End With
   strAttachment = ""
 Next Ol_Items
rsMail.Close
MsgBox "I messaggi sono stati importati"
Set rsMail = Nothing
Set tdf = Nothing
Set Ol_Attach = Nothing
Set Ol_Items = Nothing
Set Ol_Folder = Nothing
Set Ol_MAPI = Nothing
Set Ol_App = Nothing
End Sub
Saluti.
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

ciao alessandro.
grazie per il tuo codice e per il tuo aiuto preziosissimo!!
adesso mi leggo bene cosa gli fai fare per capire prima di tutto
la logica ed imparare i nuovi comandi.
grazie ancora. qui siete tutti gentili e disponibili!!
andrea
Alessandro Baraldi ha scritto:
