Kako izvesti Outlook zadatke u Excelu s VBA

  • Peter Holmes
  • 0
  • 4828
  • 1318
Oglas

Bez obzira jeste li ili ne ljubitelj Microsofta, barem jedna dobra stvar koja se može reći o proizvodima MS Office je kako je jednostavno integrirati svaki od njih jedan s drugim..

Pomislite na moć koja dolazi od dolaznih poruka e-pošte koji automatski generiraju nove zadatke ili nove kalendarske obveze ili imate dovršeni zadatak automatski pošaljite svom šefu ažurirano izvješće o statusu iz opisa zadatka.

Ako to ispravno učinite, radnim opterećenjem plovila možete smanjiti cjelodnevni teret automatizacijom stvari na inteligentan i učinkovit način.

Ako pratite moje pisanje ovdje, onda znate da sam u prošlosti pokrivao stvari poput integriranja značajki web preglednika u Excel Kako napraviti svoj vlastiti osnovni internetski preglednik pomoću VBA Kako napraviti svoj vlastiti osnovni internetski preglednik pomoću VBA Kad se zaista zaustavite da razmislim o tome, internetski preglednik u svom najjednostavnijem obliku nije baš impresivna aplikacija. Mislim, da, Internet je po nečijim standardima nevjerojatan. Koncept povezivanja…, automatski maksimiziranje prozora aplikacije 3 načina za otvaranje aplikacija i Windows maksimiziran VB skriptu [Windows] 3 načina otvaranja aplikacija i Windows maksimiziran VB skriptu [Windows] Ako postoji jedna stvar koju volim raditi, to je pisanje VB skripte. Bilo da se radi o datoteci Windows Script ili VBA skriptu unutar aplikacije, skriptiranje pruža mogućnost dodavanja funkcionalnosti aplikacijama ... ili automatizaciju ažuriranja grafikona u Excelu Kako stvoriti samoobnavljajuće Excelove karte na tri jednostavna koraka Kako stvoriti samoobnavljajući Excel Grafikoni u tri jednostavna koraka Pokazat ćemo vam kako vlastite nadogradnje Excelovih ljestvica samostalno ažurirati. Samo dodajte nove podatke i gledajte kako se automatski prikazuju na vašem grafikonu. To je brzo i jednostavno. .

Pa, u ovom ću članku opisati još jedan zadatak automatizacije - zapravo onaj koji sam često koristio u posljednje vrijeme - da bih na kraju dana automatski ažurirao proračunsku tablicu Excel sa svim svojim preostalim aktivnim Outlookovim zadacima..

Umetanje Outlookovih zadataka u proračunsku tablicu Excel

Postoji mnogo razloga zbog kojih to možda želite. Možda želite svakodnevno pratiti nedovršene zadatke u obliku koji možete nekome brzo poslati poštom (što nije tako jednostavno za Outlook zadatke). Ili će možda postati dio većeg izvješća koje ćete upisati u Word.

Bez obzira na slučaj, korisna je mogućnost hvatanja i ispisivanja nepotpunih informacija o Outlookovim zadacima.

Za ovaj primjer, evo mog uzorka popisa zadataka programa Outlook s pet preostalih zadataka koje još uvijek nisam dovršio.

Sve što ćemo ovdje učiniti je u VBA. U programu Outlook klikom na ikonu stižete do VBA uređivača “alat“, zatim “makro” a zatim odabir “Visual Basic Editor“.

Kôd koji ćete koristiti za snimanje popisa zadataka i izvoz u Excel zapravo nije toliko kompliciran kao što možda mislite. Prvi korak je uključivanje i Outlook objekata i Excel objekata stvaranjem potrebnih definicija varijabli. Zatim, koristeći objekt radne knjige koji ste stvorili, počnite stvaranjem zaglavlja u proračunskoj tablici.

Dim strReport as string Dim olnameSpace As Outlook.NameSpace Dim taskFolder As Outlook.MAPIFolder Dim zadatci kao Outlook.Items Dim tsk kao Outlook.TaskItem Dim objExcel kao novi Excel.Aplikacija Dim exWb As Excel.Workbook Dim sht kao Excel.Worksheame Dim strMy String Dim x Kao Integer Dim y As Integer Set exWb = objExcel.Workbooks.Open ("c: \ temp \ MyActiveTasks.xls") 'exWb.Sheets (strMyName) .Delete' exWb.Sheets.Add (strMyName) Postavi olnameSpace = Application.GetNamespace ("MAPI") Postavi zadatakFolder = olnameSpace.GetDefaultFolder (olFolderTasks) Postavi zadatke = taskFolder.Items strReport = "" 'Stvori zaglavlje exWb.Sheets ("Sheet1"). Ćelije (1, 1) = "Predmet" exWb .Sheets ("Sheet1"). Stanice (1, 2) = "Rok dospijeća" exWb.Sheets ("Sheet1"). Cells (1, 3) = "Percent Complete" exWb.Sheets ("Sheet1"). Cells ( 1, 4) = "Status"

Dakle, evo kako izgleda nova proračunska tablica. Vaša Outlook aplikacija upravo je stvorila novu datoteku Excela pod nazivom “MyActiveTasks.xls” u direktoriju C: \ temp i stvorio zaglavlje za zadatke koje namjeravate umetnuti.

Dakle, sada je vrijeme da izdvojite svoje zadatke i umetnete ih u Excel datoteku. Koristim a “y” varijabla koja počinje na dvije kako bi bila sigurna da prvi upotrijebljeni redak nije prvi, jer ne želim prebrisati zaglavlje.

y = 2 Za x = 1 Za zadatke. Broj skupa tsk = zadatci.Item (x) 'strReport = strReport + tsk.Subject + ";"' Popunite podatke ako ne tsk.Complete Zatim exWb.Sheets ("Ryan") .Cells (y, 1) = tsk.Subject exWb.Sheets ("Ryan"). Ćelije (y, 2) = tsk.DueDate exWb.Sheets ("Ryan"). Ćelije (y, 3) = tsk.PercentComplete exWb .Sheets ("Ryan"). Ćelije (y, 4) = tsk.Status y = y + 1 Kraj If Next x

Ono što ovaj skript radi je pretraživanje cijelog popisa zadataka u programu Outlook, provjera je li stavka još dovršena, a ako nije, zatim ubacuje te podatke o zadatku u 4 ćelije proračunske tablice. Ako želite, možete umetnuti više informacija. Jednostavno istražite koji su podaci o zadatku dostupni ako upišete “TSK.” a zatim pregledavanje popisa entiteta koji se pojavljuju.

Evo evo kako izgleda list.

Budući da sam pomalo perfekcionist, još uvijek postoji problem. Uočite kako je stupac A obrezao posljednji zadatak zadatka?” Ne sviđa mi se to. Dakle, dodajmo malo više koda za autofit svih stupaca u Excelovoj tablici.

"Autofit sve širine stupaca za svaki sht. U ActiveWorkbook.Worksheets sht.Columns (" A "). EntireColumn.AutoFit sht. Column (" B "). EntireColumn.AutoFit sht.Column (" C "). EntireColumn.AutoFit sht. Stupci ("D"). EntireColumn.AutoFit Next sht exWb.Save exWb.Close Set exWb = Ništa

Uštedjeti i Zatvoriti metode u tih posljednjih nekoliko redaka spremit će list i zatvoriti ga tako da aplikacija ne ostaje zaključana, inače će biti teško otvoriti Excel datoteku dok ne zatvorite Outlook.

Dakle, evo kako izgleda gotova proračunska tablica.

Kada postavljate skriptu za pokretanje? Pa, postavio sam ga za pokretanje “Application.Close ()” događaj, koji se pokreće kad napustite Outlook na kraju dana. Zbog toga će Outlook na kraju dana izraditi izvješće o proračunskim tablicama u Excelu, a sve samostalno.

Možete li smisliti neku drugu cool upotrebu ove tehnike? Možda automatski otpustite poruku e-pošte s popisom zadataka ili ih pošaljete u HTML datoteku i preusmjerite na svoj web poslužitelj?

Uz malo kreativnosti, nevjerojatno je što možete riješiti malo automatizacije scenarija. Podijelite svoje vlastite misli i ideje u odjeljku s komentarima u nastavku!

Shutterstock




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.