Salve a tutti, ho fatto questa macro in VBA per Outlook:
Questo codice dovrebbe:codice:Sub Sposta_Mail() Dim Conn As ADODB.Connection Dim StringaConn As String Dim Rs As ADODB.Recordset Set Conn = New ADODB.Connection Set Rs = New ADODB.Recordset StringaConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=MIO_DATABASE.mdb;Persist Security Info=False" Conn.Open StringaConn Set Rs = Conn.Execute("SELECT * FROM Codici") Do While Not Rs.EOF Dim objFolder As Outlook.MAPIFolder, objInbox As Outlook.MAPIFolder Dim objNS As Outlook.NameSpace, objItem As Outlook.MailItem Dim FSO As FileSystemObject Set objNS = Application.GetNamespace("MAPI") Set objInbox = objNS.GetDefaultFolder(olFolderInbox) Set FSO = New FileSystemObject For Each objItem In Application.ActiveExplorer.Selection If (FSO.FolderExists("Posta in arrivo\" & Rs.fields("Codice").Value)) = False Then FSO.CreateFolder ("Posta in arrivo\" & Rs.fields("Codice").Value) End If If Mid(objItem.SenderName, 3, 7) = Rs.fields("Codice").Value Then Set objFolder = objInbox.Folders(Rs.fields("Codice").Value) objItem.Move objFolder End If Next Set FSO = Nothing Set objItem = Nothing Set objFolder = Nothing Set objInbox = Nothing Set objNS = Nothing Rs.MoveNext Loop End Sub
1) Controllare se una detemrinata cartella esiste, se non esiste la crea.
2) Mettere dentro la relativa cartella i corrispondenti mittendi.
esempio
Cartella 1234 dentro ci dete mettere 1234@email.it
PROBLEMI:
1) non crea la cartella, probabilmente perchè non si può inq aundo sul PC non esiste l'indirizzo c:\programmi\outlook\posta in arrivo
2) la esegue sol oquando lanciata, non c'è la possibilità di inserire un timer in outlook?
Grazie per l'attenzione

Rispondi quotando