Upravljajte Outlook iz Excela z uporabo VBA v programu Microsoft Excel

Anonim

Dva spodnja primera makrov prikazujeta, kako lahko pošiljate podatke Outlooku
(na primer pošiljanje e-poštnega sporočila) in kako lahko pridobite podatke iz Outlooka
(na primer pridobivanje seznama vseh sporočil v mapi »Prejeto«).

Opomba! Preberite in uredite vzorčno kodo, preden jo poskusite izvesti v svojem projektu!

'zahteva sklic na knjižnico objektov Microsoft Outlook 8.0 Sub SendAnEmailWithOutlook ()' ustvari in pošlje novo e-poštno sporočilo z Outlookom Dim OLF kot Outlook.MAPIFolder, olMailItem kot Outlook.MailItem Dim ToContact As Outlook.Recipient Set OLF = GetObject ( "", _ "Outlook.Application"). GetNamespace ("MAPI"). GetDefaultFolder (olFolderInbox) Nastavi olMailItem = OLF.Items.Add 'ustvari novo e-poštno sporočilo z olMailItem .Subject = "Zadeva za novo e- mail message "'subject message Set ToContact = .Recipients.Add (" [email protected] ")' add prejemnik Set ToContact = .Recipients.Add (" [email protected] ") 'add ToContact.Type = olCC 'nastavi najnovejšega prejemnika kot CC Nastavi ToContact = .Recipients.Add ("[email protected]")' dodaj prejemnika ToContact.Type = olBCC 'nastavi najnovejšega prejemnika kot BCC .Body = "To je besedilo sporočila" & Chr (13) 'besedilo sporočila z prelomom vrstice. : \ Ime mape \ Ime datoteke.txt ", olByReference,, _" Bližnjica do priloge "" vstavi bližnjico ". Priloge. Dodajte" C: \ Ime mape \ Ime datoteke.txt ", olEmbeddedItem,, _" Vdelana priloga "" vdelana priloga ". Attachments.Add "C: \ FolderName \ Filename.txt", olOLE,, _ "OLE Attachment" 'OLE attachment .OriginatorDeliveryReportReoked = True' potrdilo o dostavi. Send 'pošlje e-poštno sporočilo (ga pošlje v Outbox) End with Set ToContact = Nothing set olMailItem = Nothing Set OLF = Nothing End Sub Sub ListAllItemsInInbox () Dim OLF As Outlook.MAPIFolder, CurrUser As String Dim EmailItemCount As Integer, i Kot celo število, EmailCount As Integer Application.ScreenUpdating = False Workbooks.Add 'ustvari nov delovni zvezek' dodaj naslove Cells (1, 1). Formula = "Subject" Cells (1, 2). Formula = "Recived" Cells (1 , 3) .Formula = "Priloge" celice (1, 4) .Formula = "Branje" z obsegom ("A1: D1"). Pisava. Bold = True. Si ze = 14 Končaj z Application.Calculation = xlCalculationManual Set OLF = GetObject ("", _ "Outlook.Application"). GetNamespace ("MAPI"). GetDefaultFolder (olFolderInbox) EmailItemCount = OLF.Items.Count i = 0: EmailCount = 0 'branje e-poštnih podatkov Medtem ko i <EmailItemCount i = i + 1 Če i Mod 50 = 0 Potem Application.StatusBar = "Branje e-poštnih sporočil" & _ Oblika (i / EmailItemCount, "0%") & "… "Z elementi OLF.Items (i) EmailCount = EmailCount + 1 celice (EmailCount + 1, 1). Formula = .Predmetne celice (EmailCount + 1, 2). Formula = Format (.ReceivedTime," dd.mm.yyyy hh: mm ") Celice (EmailCount + 1, 3) .Formula = .Priključki. Štetje celic (EmailCount + 1, 4) .Formula = Ne. Neprebrano konec z aplikacijo Wend.Calculation = xlCalculationAutomatic Set OLF = nič stolpcev (" A: D ") .AutoFit Range (" A2 "). Izberite ActiveWindow.FreezePanes = True ActiveWorkbook.Saved = True Application.StatusBar = Subsection False End