Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.lang.visual-basic > #19922
| Newsgroups | it.comp.lang.visual-basic |
|---|---|
| Date | 2021-09-29 07:29 -0700 |
| Message-ID | <e97f08f8-2399-4c0f-8a09-3928750e171dn@googlegroups.com> (permalink) |
| Subject | Export mail outlook in Excel |
| From | Marco75 <marcoporzi75@gmail.com> |
Ciao,
come da oggetto, ho la necessità di esportare le mail di una cartella di Outlook in Excel.
il seguente codice apre Excel ed inserisce le mail e tutto funziona bene ma dovrei modificarlo per ottenere di più:
- Filtrare in modo che esporti solo le mail da leggere ed esportare solo quelle
- Filtrare parte dell'oggetto mail (es.: "Esito non conforme" senza ciò che viene dopo). Questa parte è opzionale perchè se esporto già quelle non lette potrebbe non servire in quanto le non lette sono già quelle che voglio però può essere utile
- Questa la ciliegina sulla torta: prendere dal corpo mail solo alcune righe e posizionarle ognuna in una colonna Excel
questo il codice che ho messo in Outlook
grazie
Marco
Sub Export_KO()
ufAttendi.Show vbModeless
Dim xlApp As Excel.Application
Dim xlWb As Excel.Workbook
Dim i As Long 'Ricerca righe
Dim arrHeader As Variant
Dim olNS As NameSpace
Dim olInboxFolfer As MAPIFolder
Dim olItems As Items
Dim olMailItem As MailItem
arrHeader = Array("Data", "Oggetto", "Non letto")
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
Set xlWb = xlApp.Workbooks.Add
Set olNS = GetNamespace("MAPI")
Set olInboxFolfer = olNS.GetDefaultFolder(olFolderInbox).Folders("Notifiche")
Set olItems = olInboxFolfer.Items
i = 2
On Error Resume Next
xlWb.Worksheets(1).Range("A1").Resize(1, UBound(arrHeader) + 1).Value = arrHeader
For Each olMailItem In olItems
xlWb.Worksheets(1).Cells(i, "A").Value = olItems(i).CreationTime
xlWb.Worksheets(1).Cells(i, "B").Value = olItems(i).SenderName
xlWb.Worksheets(1).Cells(i, "C").Value = olItems(i).Subject
xlWb.Worksheets(1).Cells(i, "D").Value = olItems(i).UnRead
i = i + 1
Next olMailItem
xlWb.Worksheets(1).Cells.EntireColumn.AutoFit
MsgBox ("Fatto!")
Set xlWb = Nothing
Set xlApp = Nothing
Set olItems = Nothing
Set olInboxFolfer = Nothing
Set olNS = Nothing
Unload ufAttendi
End Sub
Back to it.comp.lang.visual-basic | Previous | Next — Next in thread | Find similar
Export mail outlook in Excel Marco75 <marcoporzi75@gmail.com> - 2021-09-29 07:29 -0700
Re: Export mail outlook in Excel Franz_aRTiglio <franzgol@N0SPAMtin.it> - 2021-09-29 21:06 +0200
Re: Export mail outlook in Excel Marco75 <marcoporzi75@gmail.com> - 2021-09-29 12:58 -0700
Re: Export mail outlook in Excel Franz_aRTiglio <franzgol@N0SPAMtin.it> - 2021-09-29 22:45 +0200
Re: Export mail outlook in Excel Marco75 <marcoporzi75@gmail.com> - 2021-09-29 23:44 -0700
Re: Export mail outlook in Excel Marco75 <marcoporzi75@gmail.com> - 2021-09-30 01:47 -0700
csiph-web