Upravljajte Outlookom iz programa Excel pomoću VBA u programu Microsoft Excel

Anonim

Dva dolje navedena primjera makronaredbi pokazuju kako možete poslati podatke u Outlook
(npr. slanje poruke e-pošte) i kako možete dohvatiti podatke iz Outlooka
(npr. dohvaćanje popisa svih poruka u pristigloj pošti).

Bilješka! Pročitajte i uredite primjer koda prije nego što ga pokušate izvesti u svom projektu!

'zahtijeva referencu na biblioteku objekata programa Microsoft Outlook 8.0 Sub SendAnEmailWithOutlook ()' stvara i šalje novu poruku e-pošte s Outlookom Dim OLF kao Outlook.MAPIFolder, olMailItem kao Outlook.MailItem Dim ToContact As Outlook.Recipient Set OLF = GetObject ( "", _ "Outlook.Application"). GetNamespace ("MAPI"). GetDefaultFolder (olFolderInbox) Postavi olMailItem = OLF.Items.Add 'stvara novu poruku e-pošte s olMailItem .Subject = "Predmet za novu e- mail message "'subject message Set ToContact = .Recipients.Add (" [email protected] ")' dodaj primatelja Set ToContact = .Recipients.Add (" [email protected] ") 'dodaj primatelja ToContact.Type = olCC 'postavi posljednjeg primatelja kao CC Postavi ToContact = .Recipients.Add ("[email protected]")' dodaj primatelja ToContact.Type = olBCC 'postavi posljednjeg primatelja kao BCC .Body = "Ovo je tekst poruke" & Chr (13) 'tekst poruke s prijelomom retka. Prilozi. Dodajte "C: \ Ime mape \ Ime datoteke.txt", olByValue,, _ "Privitak"' umetnite privitak '. Prilozi. Dodajte "C : \ Naziv mape \ Naziv datoteke.txt ", olByReference,, _" Prečac za privitak "'umetni prečac'. Prilozi. Dodajte" C: \ Naziv mape \ Naziv datoteke.txt ", olEmbeddedItem,, _" Ugrađeni privitak "'ugrađeni privitak'. Attachments.Add "C: \ FolderName \ Filename.txt", olOLE,, _ "OLE Attachment" 'OLE prilog. Send 'šalje poruku e-pošte (stavlja je u Outbox) Završi s postavljenim ToContact = Ništa nije postavljeno olMailItem = Ništa nije postavljeno OLF = Ništa Kraj Sub Sub ListAllItemsInInbox () Zatamnjivanje OLF-a kao Outlook.MAPIFolder, CurrUser kao niz Niz EmailItemCount kao cijeli broj, i Kao cijeli broj, EmailCount As Integer Application.ScreenUpdating = False Workbooks.Add 'create a new workbook' add headings Cells (1, 1) .Formula = "Subject" Cells (1, 2) .Formula = "Recieved" Cells (1 , 3) .Formula = "Privitci" ćelije (1, 4) .Formula = "Čitanje" s rasponom ("A1: D1"). Font. Bold = True. Si ze = 14 Završi s Application.Calculation = xlCalculationManual Set OLF = GetObject ("", _ "Outlook.Application"). GetNamespace ("MAPI"). GetDefaultFolder (olFolderInbox) EmailItemCount = OLF.Items.Count i = 0: EmailCount = 0 'čitanje informacija e-pošte Dok sam <EmailItemCount i = i + 1 Ako i Mod 50 = 0 Tada Application.StatusBar = "Čitanje poruka e-pošte" & _ Format (i / EmailItemCount, "0%") & "… "S OLF.Items (i) EmailCount = EmailCount + 1 ćelija (EmailCount + 1, 1). Formula = .Predmetne ćelije (EmailCount + 1, 2). Formula = Format (.ReceivedTime", dd.mm.yyyy hh: mm ") Ćelije (EmailCount + 1, 3) .Formula = .Prilozi.Broj ćelija (EmailCount + 1, 4) .Formula = Ne. Nečitaj završi s aplikacijom Wend.Calculation = xlCalculationAutomatic Set OLF = Ništa stupci (" A: D ") .AutoFit raspon (" A2 "). Odaberite ActiveWindow.FreezePanes = True ActiveWorkbook.Saved = True Application.StatusBar = False End Sub