VBATools

Export danych wiadomości do Excela

by on Jun.29, 2010, under Excel, Outlook, Porady

Wiele czynności związanych z wysyłką emailingu marketingowego jest związane z późniejszymi raportami z działalności. Jak połączyć dane w folderach Outlooka z Excelem?

Można użyć darmowego programu CodeTwo Outlook Export i zapisać adresu do pliku, który następnie otworzyć plik Excelem, jednakże czasem nie można nic instalować i jedynym rozwiązaniem jest makro.

Uruchomić go można w developerze VBA (Alt+F11) w sekcji module.

Dodatkowo należy dodać  bibliotekę Excela Menu/Tools/References i wybierasz Microsoft Excel (dostępna wersja) Object Liblary

Jeśli nie ma się doświadczenia polecam przeczytać artykuł Instalacja i uruchamianie makr.

Option Explicit
Sub Zapisz_do_Excela()
'MVP OShon from VBATools.pl
 Dim oMail As Object, y&: y = 2
 Dim xApp As New Excel.Application 
 Dim xWorkBook As Excel.Workbook
 Dim xlSheet As Excel.Worksheet

 Set xWorkBook = xApp.Workbooks.Add
 Set xlSheet = xApp.Sheets("Arkusz1")

 On Error GoTo blad
 With xlSheet
 .Range("a1").value = "Adresat"
 .Range("b1").value = "Czas utworzenia"
 .Range("c1").value = "Temat"
 For Each oMail In Application.ActiveExplorer.Selection
   .Cells(y, 1).value = oMail.SenderEmailAddress '.SenderName 'drugi parametr podaje nazwę wyświetlaną
   .Cells(y, 2).value = oMail.CreationTime
   .Cells(y, 3).value = oMail.Subject
   'itd....
 y = y + 1
 Next oMail
 End With

koniec:
On Error Resume Next
 With xWorkBook
 'jeśli usunie się poniższą linijkę będzie pytać gdzie i z jaką nazwą zapisać plik
 .SaveAs fileName:="C:\Temp\Outlook_dane_obiektów.xls", FileFormat:=xlNormal
 .Close
 End With
 Set xlSheet = Nothing
 Set xWorkBook = Nothing
Exit Sub
blad:
 MsgBox "Błąd wykonania procedury ''Zapisz_do_Excela''" & vbCr _
 & "Zaznacz wiadomości przy pomocy klawisza Ctrl i myszki i ponów operacje.", _
 vbInformation, "Informacja o błędzie."
Resume koniec
End Sub

Aby w projekcie użyć późnego wiązania należy skonstruować kod w następujący sposób (w tedy nie jest konieczne dodawanie kontrolki w referencjach):

Dim xApp As Object 'New Excel.Application
 Dim xWorkBook As Object 'Excel.Workbook
 Dim xlSheet As Object 'Excel.Worksheet

 Set xApp = CreateObject("Excel.Application")

(c) Shon Oskar – www.VBATools.pl

Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.

:, , , ,

Leave a Reply

Recently Active Members

Profile picture of vbatools
Profile picture of Joanna Subik
Profile picture of Karol Stilger
Profile picture of Anorak
Profile picture of marcinmachalowski
Profile picture of programistaaccess
Profile picture of piotrpawlik
Profile picture of Emil Wasilewski
Profile picture of kicekpicek
Profile picture of coldfusion
Profile picture of Gosia Borzęcka
Profile picture of lukaszch
Profile picture of itadministracja
Profile picture of farbenia
Profile picture of Łukasz Kałużny
Profile picture of kabzinski
Profile picture of rtynski
Profile picture of leszekbetlinski
Profile picture of Iv
Profile picture of Justyna Spychała