Ovládejte Outlook z Excelu pomocí VBA v Microsoft Excelu

Anonim

Dvě níže uvedená makra ukazují, jak můžete odesílat informace do Outlooku
(například odeslání e-mailové zprávy) a jak lze načíst informace z aplikace Outlook
(např. načtení seznamu všech zpráv ve složce Doručená pošta).

Poznámka! Přečtěte si a upravte ukázkový kód, než se ho pokusíte spustit ve svém vlastním projektu!

'vyžaduje odkaz na objekt Microsoft Outlook 8.0 Object Library Sub SendAnEmailWithOutlook ()' vytvoří a odešle novou e-mailovou zprávu s aplikací Outlook Dim OLF jako Outlook.MAPIFolder, olMailItem jako Outlook.MailItem Dim ToContact jako Outlook.Recipient Set OLF = GetObject ( "", _ "Outlook.Application"). GetNamespace ("MAPI"). GetDefaultFolder (olFolderInbox) Nastavit olMailItem = OLF.Items.Add 'vytvoří novou e-mailovou zprávu s olMailItem .Subject = "Předmět nového e-mailu e -mailová zpráva "'předmět zprávy Set ToContact = .Recipients.Add (" [email protected] ")' přidat příjemce Set ToContact = .Recipients.Add (" [email protected] ") 'přidat příjemce ToContact.Type = olCC 'nastavit nejnovějšího příjemce jako CC Nastavit ToContact = .Recipients.Add ("[email protected]")' přidat příjemce ToContact.Type = olBCC 'nastavit nejnovějšího příjemce jako BCC .Body = "Toto je text zprávy" & Chr (13) 'text zprávy s přerušením řádku .Attachments.Add "C: \ FolderName \ Filename.txt", olByValue,, _ "Attachment"' vložte přílohu '.Attachments.Add "C : \ FolderName \ Filename.txt ", olByReference,, _" Zkratka pro přílohu "'vložte zkratku' .Attachments.Add" C: \ FolderName \ Filename.txt ", olEmbeddedItem,, _" vložená příloha "'vložená příloha'. Attachments.Add "C: \ FolderName \ Filename.txt", olOLE,, _ "OLE Attachment" 'OLE přílohy. Odeslat 'odešle e-mailovou zprávu (umístí ji do složky K odeslání) Konec Nastavit ToContact = Nic Nastavit olMailItem = Nic Nastavit OLF = Nic Konec Sub Sub Sub ListAllItemsInInbox () Dim OLF jako Outlook.MAPIFolder, CurrUser jako řetězec Dim EmailItemCount jako celé číslo, i Jako celé číslo, EmailCount jako celé číslo 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 = buňky „Přílohy“ (1, 4). Vzorec = „Čtení“ s rozsahem („A1: D1“). Písmo .Bold = True. Si ze = 14 Konec Application.Calculation = xlCalculationManual Set OLF = GetObject ("", _ "Outlook.Application"). GetNamespace ("MAPI"). GetDefaultFolder (olFolderInbox) EmailItemCount = OLF Items.Count i = 0: EmailCount = 0 'číst e-mailové informace Zatímco i <EmailItemCount i = i + 1 Pokud i Mod 50 = 0 Pak Application.StatusBar = "Čtení e-mailových zpráv" & _ Formát (i / EmailItemCount, "0%") & "… "With OLF Items (i) EmailCount = EmailCount + 1 Cells (EmailCount + 1, 1) .Formula =. Subject Cells (EmailCount + 1, 2) .Formula = Format (.ReceivedTime," dd.mm.yyyy hh: mm ") Buňky (EmailCount + 1, 3). Formula = .Attachments.Count Cells (EmailCount + 1, 4) .Formula = Not .UnRead End with Wend Application.Calculation = xlCalculationAutomatic Set OLF = Nothing Columns (" A: D "). Rozsah AutoFit (" A2 "). Vyberte ActiveWindow.FreezePanes = True ActiveWorkbook.Saved = True Application.StatusBar = False End Sub