Newsgroup: it.comp.lang.visual-basic
Titolo: VB e le cartelle della posta - URGENTE!!!

Ciao,
vorrei sapere se qualcuno è riuscito
a svuotare da codice una cartella di posta di Exchange o Outlook tramite le
MAPI di Windows o simili.
Grazie per qualsiasi consiglio,
fino ad ora non ho trovato una soluzione decente.
Per favore rispondi via mail  ( 
fer...@hotmail.com
 )
Ciao,
Ferrux.

> wrote in message
86d6j3$qd7$1...@lacerta.tiscalinet.it...


 MAPI di Windows o simili.
Copio qui sotto uno studio del problema che ho fatto qualche giorno fa ma
che non ho ancora avuto la possibilita' di affinare nella speranza che possa
esserti in qualche modo utile. L'ho scritto in VB4 ma credo che possa andar
bene anche in VB5 o VB6.
----- INIZIO -----
' Nome        : MMain
' Autore      : Maurizio Borrelli
' Data        : 9/1/2000
' Descrizione : Spostamento oggetti MailItem con SenderName = "VOLftp Mail
Robot"
              ' dalla cartella "Posta in arrivo" alla cartella "VOLftp"
              ' dell'applicazione Outlook.
              ' NOTA: Se sposti in "Posta eliminata" penso che tu abbia
risolto.
              ' (Piu' o meno...).
' Revisioni   :
DefBool B
DefCur C
DefDbl D
DefSng F
DefInt I-K
DefLng L
DefObj O
DefStr S
DefDate T
DefVar V
DefByte Y
Option Explicit
Public Sub Main( _
)
Dim o_olApp         As Object 'Outlook.Application
Dim o_olNameSpace   As Object 'Outlook.NameSpace
Dim o_olFolders     As Object 'Outlook.Folders
Dim o_olInput       As Object 'Outlook.MAPIFolder
Dim o_olOutput      As Object 'Outlook.MAPIFolder
Dim o_olMailItem    As Object 'Outlook.MailItem
Dim o_olMailItems() As Object 'Outlook.MailItem
Dim b_Exists
Dim i_Index
Set o_olApp = CreateObject("Outlook.Application")
Set o_olNameSpace = o_olApp.GetNamespace("MAPI")
Set o_olFolders = o_olNameSpace.Folders
' Nella mia installazione "CPMaurizio" è la "cartella radice" che
generalmente
' credo si chiami "Outlook oggi" o cose cosi'...
With o_olFolders.Item("CPMaurizio")
  Set o_olInput = .Folders("Posta in arrivo")
  Set o_olOutput = .Folders("Posta Maurizio").Folders("VOLftp")
End With
ReDim o_olMailItems(0)
For Each o_olMailItem In o_olInput.Items
  With o_olMailItem
    If .SenderName = "VOLftp Mail Robot" Then
      If b_Exists = False Then
        Let b_Exists = True
        ReDim o_olMailItems(1 To 1)
      Else
        ReDim Preserve o_olMailItems( _
          LBound(o_olMailItems) To UBound(o_olMailItems) + 1)
      End If
      Set o_olMailItems(UBound(o_olMailItems)) = o_olMailItem
    End If
  End With
Next
If UBound(o_olMailItems) = 0 Then
  Call MsgBox("Non c'era niente da fare.")
Else
  For i_Index = LBound(o_olMailItems) To UBound(o_olMailItems)
    Call o_olMailItems(i_Index).Move(o_olOutput)
  Next
  Call MsgBox("Fatto.")
End If
Call o_olApp.Quit
Erase o_olMailItems()
Set o_olMailItem = Nothing
Set o_olOutput = Nothing
Set o_olInput = Nothing
Set o_olFolders = Nothing
Set o_olNameSpace = Nothing
Set o_olApp = Nothing
End Sub
----- FINE -----


Non centra molto con Exchange o Outlook, comunque un modo per scaricare la
posta via codice 100% lo trovi sul Sito Comune, sorgenti, Pop.zip .
Ciao
By -MES-   Maronese Ettore
http://www.maronese.com/mes
(con OCX per stampare i recordset)
Sito Comune di programmatori Visual Basic
http://www.murialdo.it/it_lang_vb


