Excel i Office automatizacija – reference

Reference iz portfelja u kojima se posao obavlja tamo gde ljudi već rade — u Excel-u, Google tabelama, PowerPoint-u i Outlook-u: tabela sama poziva API i upisuje odgovore, cenovnik se preslaže jednim pokretanjem, podaci se povlače iz baza preko ODBC konekcija, PowerPoint zamenjuje slike, a Outlook sam čuva priloge i prati poštu. Umesto novog programa koji treba naučiti, korisnik dobija dugme ili skriptu u alatu koji svakodnevno koristi. Ovakve poslove radim u okviru usluge izrade Office dodataka.

Excel dodatak koji šalje ID-ove na API i upisuje rezultate

Rađeno u trećem kvartalu 2021.

Problem

Klijent je imao spisak ID-ova u Excel-u — najviše pedesetak redova, a obično pet-šest — za koje je trebalo pozvati API i rezultate vratiti u istu tabelu. Postojala je skripta koja je izvlačila podatke u JSON-u, ali su se vrednosti ručno kucale u PostMan. Klijent je tražio jednostavno rešenje koje ceo postupak radi samo: čita ID-ove, poziva API i upisuje odgovore, bez instaliranja dodatnog softvera. Predlagao je cURL, ali je bio otvoren i za druge načine.

Rešenje

Napravljen je VSTO dodatak za Excel, sa dugmetom u traci, koji ceo tok obavlja iz same tabele:

  • čitanje ID-ova: dodatak pouzdano preuzima spisak ID-ova iz tabele;
  • automatski pozivi API-ja: prolazi kroz svaki ID, poziva API i prikuplja rezultate;
  • upis u isti fajl: podaci dobijeni od API-ja upisuju se nazad u polaznu Excel tabelu;
  • jednostavna upotreba: sve se pokreće iz Excel-a, bez ručnog unosa i bez posrednih alata.

Korišćene tehnologije

  • VSTO (Visual Studio Tools for Office): dodatak za Excel sa dugmetom u traci.
  • VB.NET i .NET Framework: jezik i okruženje dodatka.
  • JSON: format odgovora API-ja.

Rezultat

Umesto ručnog kucanja u PostMan, korisnik jednim klikom u Excel-u dobija odgovore API-ja za ceo spisak, upisane u istu tabelu.


Preslaganje cenovnika u Excel-u pomoću VBA

Rađeno u drugom kvartalu 2021.

Problem

Klijent je imao obiman cenovnik u kome su količine bile složene vertikalno, svaka u svom redu. Neki artikli su imali više cena u zavisnosti od količine, a neki samo jednu. Partner klijenta tražio je horizontalni prikaz, sa posebnom kolonom za svaku količinu. Pošto između artikala nije bilo doslednog obrasca, bilo je jasno da ručno preslaganje ne dolazi u obzir i da je potreban dinamičan pristup.

Rešenje

Napravljen je automatizovan postupak u VBA-u koji preformatira cenovnik:

  • dinamičko formatiranje: skripta prepoznaje različit broj cena po artiklu i prema tome prilagođava prikaz;
  • horizontalni prikaz: svaka količina dobija svoju kolonu, kako je partner tražio;
  • fleksibilnost: rešenje radi i sa artiklima koji imaju jednu cenu i sa onima koji imaju više.

Korišćene tehnologije

  • Microsoft Excel: platforma.
  • VBA: automatizacija preslaganja.

Rezultat

Cenovnik se preslaže u oblik koji partner traži jednim pokretanjem skripte, bez obzira na to koliko cena ima koji artikal.


Excel tabela koja preuzima podatke i ističe izmene

Rađeno u drugom kvartalu 2021.

Problem

Klijentu je trebala Excel tabela koja podatke za etiketu proizvoda preuzima iz lista sa podacima na osnovu broja artikla. Podaci su morali da se prekopiraju, a ne samo da se na njih ukaže kao kod VLOOKUP-a, jer ih je trebalo menjati na licu mesta. Svaka izmena morala je da bude istaknuta bojom, kako bi se promene lako pratile, a list sa podacima je trebalo sakriti, da krajnji korisnik vidi samo glavni list.

Rešenje

  • direktno preuzimanje podataka: podaci se kopiraju iz lista sa podacima, pa se u glavnom listu mogu menjati bez oslanjanja na VLOOKUP;
  • praćenje promena: svaka izmena preuzetih podataka automatski menja boju ćelije;
  • skriven list sa podacima: korisnik radi u preglednom glavnom listu.

Korišćene tehnologije

  • Microsoft Excel: napredne mogućnosti Excel-a za preuzimanje podataka i interaktivnost.

Rezultat

Etikete se popunjavaju unosom broja artikla, podaci se menjaju na licu mesta, a svaka promena je odmah vidljiva po boji.


VBA upravljanje ODBC konekcijama u Excel-u

Rađeno u četvrtom kvartalu 2020.

Problem

Klijentu je trebalo kratko i jasno VBA rešenje za upravljanje ODBC konekcijama u aktivnoj radnoj svesci: da ukloni sve postojeće konekcije, da u petlji uspostavi deset novih na osnovu nizova za povezivanje zapisanih na jednom listu, da podatke preko njih povuče i da njima popuni deset novih listova. Petlja je bila uslov, kako bi broj konekcija kasnije mogao lako da se poveća.

Rešenje

  • upravljanje ODBC konekcijama: postojeće konekcije se uklanjaju i ponovo uspostavljaju po potrebi;
  • konekcije u petlji: broj konekcija može da raste bez izmene logike;
  • povlačenje i organizacija podataka: podaci se preuzimaju i strukturišu pre upisa;
  • popunjavanje listova: novi listovi se automatski prave i popunjavaju podacima.

Korišćene tehnologije

  • Microsoft Excel: platforma.
  • VBA: automatizacija konekcija i upisa.
  • ODBC: povezivanje sa izvorima podataka.

Rezultat

Radna sveska se jednim pokretanjem povezuje sa svim izvorima i puni podacima, a posao je isporučen na vreme.

Utisak klijenta

★★★★★5/5

“Dejan je pokazao izuzetnu veštinu i preciznost, isporučujući sve na vreme. Hvala, Dejane!”


Google Apps Script za pretragu i kopiranje podataka između listova

Rađeno u prvom kvartalu 2022.

Problem

Klijent je u jednom Google Sheets dokumentu imao tri lista. Prvi je bio glavna tabela, sa stalnim kolonama i između 2.500 i 3.500 redova koje klijent dopunjuje ručno. Drugi je sadržao podatke koje treba pronaći u prvom i dopunjavao se svakog dana, sa drugačijim kolonama. Treći je trebalo popuniti podacima iz prvog lista, prema onome što je traženo u drugom. Taj posao se ponavljao svakodnevno.

Rešenje

Napravljen je Google Apps Script koji pretražuje i kopira podatke između listova:

  • dinamična pretraga: podaci iz drugog lista pronalaze se u većem, prvom listu;
  • kopiranje rezultata: pronađeni podaci iz prvog lista prenose se u treći;
  • prilagođavanje broju redova: skripta radi bez obzira na to koliko redova ima u listovima i čuva doslednost podataka.

Korišćene tehnologije

  • Google Apps Script: automatizacija pretrage i kopiranja u Google Sheets.
  • Google Sheets: tabele u kojima se podaci vode.

Rezultat

Značajan deo klijentovog svakodnevnog rada obavlja skripta, a klijent je ishod ocenio kao savršen.

Utisak klijenta

★★★★★5/5

“Sve je prošlo dobro. Zapravo, bilo je savršeno. Toplo preporučujem Dejana.”


PowerPoint dodatak za zamenu slika

Rađeno u trećem kvartalu 2023.

Problem

Korisnicima PowerPoint-a trebao je način da zamene sliku u prezentaciji tako da nova slika zadrži poziciju stare, uz izbor da se proporcije slike sačuvaju ili promene. Rešenje nije smelo da bude makro koji se prenosi iz fajla u fajl, nego dodatak koji se lako distribuira i instalira, pa je uz njega bio potreban i instalacioni program.

Rešenje

Napravljen je VSTO dodatak za PowerPoint sa pratećim instalacionim programom:

  • zamena slika sa zadržanom pozicijom: nova slika dolazi tačno na mesto stare;
  • proporcije po izboru: odnos stranica slike može da se sačuva ili promeni;
  • lako širenje među korisnicima: dodatak je napravljen tako da se jednostavno preuzme i instalira;
  • stalno dostupan: posle instalacije dodatak je tu svaki put kada se otvori PowerPoint;
  • dugmad u traci: komande su u traci PowerPoint-a, napravljenoj vizuelnim dizajnerom.

Korišćene tehnologije

  • C# programski jezik (programiranje.co.rs): jezik dodatka, izabran po proceni programera.
  • VSTO (Visual Studio Tools for Office): dodatak za PowerPoint.
  • Instalacioni program: distribucija dodatka korisnicima.

Rezultat

Korisnici zamenjuju slike u prezentacijama jednim klikom, bez ponovnog nameštanja pozicije, a dodatak se kod svakog od njih instalira na isti način.

Utisak klijenta

★★★★★5/5

“Odlična komunikacija, savršena isporuka.”


Outlook skripta koja čuva priloge i ubacuje linkove

Rađeno u drugom kvartalu 2021.

Problem

Klijent je intenzivno koristio Outlook kalendare za praćenje poslova i izveštavanje. Korisnici su ažurirali status poslova kroz obrasce i u obrazac kalendara prevlačili različite fajlove — PDF-ove, slike, Word dokumente, poruke. Takvo direktno umetanje fajlova pravilo je probleme, pa je trebalo da se prevučeni fajlovi automatski sačuvaju na mrežni disk, a da u obrascu umesto njih ostane link ka sačuvanom fajlu.

Rešenje

Napravljena je VBA skripta za Outlook koja preuzima brigu o fajlovima u obrascima kalendara:

  • prepoznavanje fajlova: skripta uočava kada korisnik prevuče fajl u obrazac kalendara;
  • čuvanje fajlova: fajl se automatski čuva na unapred određeni mrežni disk;
  • hiperlink umesto fajla: umetnuti fajl u obrascu zamenjuje se linkom ka sačuvanom fajlu;
  • organizacija foldera: folderi se prave po zadatim kriterijumima, pa se fajlovi lako pronalaze.

Korišćene tehnologije

  • VBA za Outlook: automatizacija u samom Outlook-u.
  • Mrežni disk: mesto na kome se fajlovi čuvaju.

Rezultat

Obrasci kalendara ostaju laki i bez ugrađenih fajlova, a svi prilozi su uredno sačuvani na mrežnom disku i dostupni preko linka.


Outlook skripta za praćenje dolazne pošte

Rađeno u četvrtom kvartalu 2020, uz dopune u prvom kvartalu 2021.

Problem

Klijent je želeo da se u Outlook-u beleži svaka dolazna poruka i da se svakog dana proveri šta se sa njom desilo: u kom je folderu, da li je na nju odgovoreno, da li je označena za dalju akciju i da li je neka poruka obrisana. Cilj je bio sistematsko upravljanje poštom i jasna odgovornost za svaku poruku.

Rešenje

Napravljena je VBA skripta integrisana u Outlook:

  • beleženje pošte: svaka dolazna poruka se automatski evidentira, pa nijedna ne promakne;
  • dnevna provera statusa: jednom u 24 sata skripta proverava folder u kome je poruka, da li je odgovoreno i da li je označena za dalju akciju;
  • provera celovitosti: ako neka poruka nedostaje, skripta to otkriva i šalje upozorenje;
  • isticanje: obrisane ili nestale poruke automatski se ističu, da korisnik na njih obrati pažnju.

Korišćene tehnologije

  • VBA za Outlook: praćenje pošte bez ometanja svakodnevnog rada korisnika.

Rezultat

Za svaku dolaznu poruku zna se gde je i šta je sa njom urađeno, a slučajno obrisane ili premeštene poruke brzo se otkrivaju.

Treba vam automatizacija u Excel-u ili Outlook-u?

Šta ulazi u izradu, kako se određuje cena i kako izgleda tok posla, piše na stranici izrada Office dodataka. Veće dodatke pogledajte među Outlook dodacima za automatizaciju pošte i kalendara, Outlook dodacima sa API integracijom i dodacima za Word, a automatizaciju veb stranica iz Excel-a i Word-a na stranici automatizacija pregledača i web scraping.