Jak exportovat úkoly aplikace Outlook do Excelu pomocí VBA

  • Joseph Goodman
  • 0
  • 3935
  • 76
reklama

Ať už jste fanouškem společnosti Microsoft, jednou z dobrých věcí, kterou lze alespoň říci o produktech MS Office, je to, jak snadné je vzájemně propojit jeden s druhým.

Jen si vzpomeňte na sílu, která plyne z toho, že příchozí e-maily automaticky generují nové úkoly nebo nové schůzky v kalendáři, nebo že dokončený úkol automaticky pošle vašemu šéfovi e-mail s aktualizovanou zprávou o stavu z popisu úlohy.

Pokud to uděláte správně, můžete celý svůj pracovní náklad snížit lodním nákladem pouze automatizací věcí inteligentním a efektivním způsobem.

Pokud budete následovat mé psaní zde, pak víte, že v minulosti jsem se zabýval věcí, jako je integrace funkcí webového prohlížeče do Excelu Jak si vytvořit svůj vlastní základní internetový prohlížeč pomocí VBA Jak si vytvořit svůj vlastní základní internetový prohlížeč pomocí VBA Když opravdu zastavíte Abych o tom přemýšlel, internetový prohlížeč ve své nejjednodušší podobě není opravdu tak působivou aplikací. Myslím, že ano, internet je úžasný podle někoho standardu. Koncept propojení…, automatické maximalizace oken aplikací 3 způsoby, jak otevřít aplikace a Windows maximalizované pomocí skriptu VB [Windows] 3 způsoby, jak otevřít aplikace a Windows maximalizované pomocí skriptu VB [Windows] Pokud je jedna věc, kterou miluji, je psaní Skripty VB. Ať už se jedná o soubor Windows Script nebo skript VBA uvnitř aplikace, skriptování poskytuje možnost přidávat funkce aplikacím… nebo automatizovat aktualizace grafů v Excelu Jak vytvořit samoaktualizační grafy Excelu ve třech snadných krocích Jak vytvořit samoaktualizující Excel Grafy ve třech snadných krocích Ukážeme vám, jak si sami aktualizovat grafy aplikace Excel. Stačí přidat nová data a sledovat, jak se automaticky zobrazují v grafu. Je to rychlé a snadné. .

V tomto článku se chystám pokrýt další úkol automatizace - ve skutečnosti ten, který jsem často používal v poslední době - ​​automaticky aktualizovat tabulku aplikace Excel se všemi zbývajícími aktivními úkoly aplikace Outlook na konci dne.

Podávání úkolů aplikace Outlook do tabulky aplikace Excel

Možná budete chtít udělat mnoho důvodů. Možná budete chtít sledovat své nedokončené úkoly na denní bázi ve formátu, který můžete rychle poslat někomu někomu (není tak snadné dělat s úkoly aplikace Outlook). Nebo se možná stane součástí větší zprávy, kterou budete psát v aplikaci Word.

Ať už je to jakýkoli případ, je schopnost zaznamenávat a odesílat neúplné informace o úkolech aplikace Outlook užitečnou věcí.

V tomto příkladu je uveden můj ukázkový seznam úkolů aplikace Outlook s 5 zbývajícími úkoly, které jsem ještě nedokončil.

Všechno, co tady uděláme, je ve VBA. V aplikaci Outlook se dostanete do editoru VBA kliknutím na “Nástroje“, pak “Makro” a poté výběrem “Editor jazyka“.

Kód, který budete používat k zachycení seznamu úkolů a jeho exportu do Excelu, ve skutečnosti není tak složitý, jak si možná myslíte. Prvním krokem je připojení k objektům aplikace Outlook a Excelu vytvořením potřebných definic proměnných. Poté pomocí objektu sešitu, který jste vytvořili, začněte vytvořením záhlaví v tabulce.

Dim strReport jako String Dim olnameSpace As Outlook.NameSpace Dim taskFolder As Outlook.MAPIFolder Dim task As Outlook.Items Dim tsk As Outlook.TaskItem Dim objExcel As New Excel.Application Dim exWb As Excel.Workbook Dim sht As Excel.Worksheet Dim strMyName As Řetězec Dim x jako celé číslo Dim y jako celé číslo Set exWb = objExcel.Workbooks.Open ("c: \ temp \ MyActiveTasks.xls") 'exWb.Sheets (strMyName) .Delete' exWb.Sheets.Add (strMyName) Set olnameSpace = Application.GetNamespace ("MAPI") Set taskFolder = olnameSpace.GetDefaultFolder (olFolderTasks) Nastavit task = taskFolder.Items strReport = "" 'Vytvořit záhlaví exWb.Sheets ("Sheet1"). Buňky (1, 1) = "Předmět" exWb .Sety ("List1"). Buňky (1, 2) = "Datum splatnosti" exWb.Sheets ("List1"). Buňky (1, 3) = "Procento dokončeno" exWb.Sheets ("List1"). 1, 4) = "Stav"

Tady je, jak nová tabulka vypadá. Aplikace Outlook právě vytvořila nový soubor Excel s názvem “MyActiveTasks.xls” v adresáři C: \ temp a vytvořili záhlaví pro úkoly, které se chystáte vložit.

Teď je čas extrahovat úkoly a vložit je do souboru Excel. Používám a “y” proměnná začínající na dvě, aby se ujistil, že první použitý řádek není první, protože nechci přepsat záhlaví.

y = 2 Pro x = 1 Úkoly Nastavit tsk = tasks.Item (x) 'strReport = strReport + tsk.Subject + ";"' Vyplňte data, pokud není tsk.Complete Pak exWb.Sheets ("Ryan") .Cells (y, 1) = tsk.Subject exWb.Sheets ("Ryan"). Buňky (y, 2) = tsk.DueDate exWb.Sheets ("Ryan"). Buňky (y, 3) = tsk.PercentCompletete exWb .Sety ("Ryan"). Buňky (y, 4) = tsk.Status y = y + 1 End If Next x

Tento skript provádí prohledávání celého seznamu položek úkolů v aplikaci Outlook, kontroluje, zda je položka ještě dokončena, a pokud tomu tak není, vloží tyto informace o úkolu do 4 buněk tabulky. Pokud chcete, můžete vložit další informace. Stačí zjistit, jaké informace o úkolu jsou k dispozici zadáním “tsk.” a poté procházet seznam vlastností, které se objeví.

Tady je to, jak list vypadá.

Protože jsem trochu perfekcionista, stále je tu problém. Všimněte si, jak sloupec A ořízl poslední předmět úlohy?” To se mi nelíbí. Přidáme tedy trochu více kódu, aby se všechny sloupce tabulky Excel automaticky přizpůsobily.

'Automatické přizpůsobení všech šířek sloupců pro každý sht V ActiveWorkbook.Worksheets sht.Columns ("A"). EntireColumn.AutoFit sht.Columns ("B"). EntireColumn.AutoFit sht.Columns ("C"). EntireColumn.AutoFit sht. Sloupce („D“). EntireColumn.AutoFit Další sht exWb.Save exWb.Close Set exWb = Nic

Uložit a Zavřít metody v posledních několika řádcích uloží list a zavře jej, aby nezůstal uzamčen aplikací, jinak by bylo obtížné otevřít soubor Excel, dokud nezavřete aplikaci Outlook.

Teď je to, jak vypadá hotová tabulka.

Kdy nastavíte spuštění skriptu? No, nastavil jsem to tak, aby běžel na “Application.Close ()” událost, která se spustí, když ukončíte aplikaci Outlook na konci dne. To umožní, aby aplikace Outlook vytvořila tabulkovou sestavu Excel na konci dne, sama o sobě.

Dokážete vymyslet nějaké jiné super použití pro tuto techniku? Možná automaticky vypálí e-mail se seznamem úkolů, nebo je odešle do souboru HTML a FTP na váš webový server.?

S trochou kreativity je úžasné to, co můžete s trochou skriptovací automatizace zvládnout. Sdílejte své vlastní myšlenky a nápady v sekci níže!

Shutterstock




Bisher hat noch niemand einen Kommentar zu diesem Artikel abgegeben.

O moderní technologii, jednoduché a cenově dostupné.
Váš průvodce ve světě moderních technologií. Naučte se, jak používat technologie a pomůcky, které nás každý den obklopují, a naučte se, jak objevovat na internetu zajímavé věci.