Kategorier
Microsoft

Hur VBA (Visual Basic for Applications) gjorde det ”omöjliga” möjligt

Reviderad 2020-10-02

En rapport från ett intressant och mycket givande möte med en helt ny bekantskap som garanterat får en fortsättning om än i andra miljöer.

Jag vill visa på möjligheten att med hjälp av VBA anpassa, i detta fall Excel, till ett verktyg för en effektiv administration. Nästa steg blir att undersöka om Outlook också kan stärkas upp.

Innan jag hunnit ta mig till Outlook har det hänt en hel del. Bl.a. ett jobb som resulterat i ett nytt kodexempel som  här i slutet av denna artikel och en hel del arbete med Visual Studio som jag återkommer till i en ny artikel.

Det har nu uppstått ett lämpligt tillfälle att ge mig i kast med Outlook. Det gäller en rutin som skall vara ett bra alternativ till att manuellt mata in kontaktuppgifter från inkomna mejl. Rutinen skapades som en direkt följd av ett ärende på Microsoft Community där en person ville få möjlighet att enkelt kunna skicka svarsmejl till ett par hundra inkomna ärenden. Ett sätt var då att skapa en separat distributionslista att använda för ”Hemlig kopia” men helst slippa det tunga och lite osäkra sättet med manuell inmatning av grunddata. Den koden hittar du under länkar i denna artikel.

Som exempel tar jag då min situation på MSC (Microsoft Community) som från början inte var värst omfattande. 2015 anmälde jag min första fråga på forumet i Sverige . Det har sedan följts av, inte så många egna frågor, men desto fler inlägg på andras trådar och rena besök på trådar bara för att lära mig mer om Microsoft och om Windows på olika plattformar samt allehanda tekniker.

Numera botaniserar jag även på MSC-UK. Kan med varm hand rekommendera studiebesök i dessa forum.

Bakgrund/ förutsättningar

För att kunna bemöta nya frågor med tidigare svar, och hålla koll på var jag varit började jag då, 2015, fylla i ett Word dokument för att återanvända vad jag tidigare läst och ibland också besvarat. Med ökande volymer, i dagsläget ca 2000, kände jag för att effektivisera mitt ”arbete” och samtidigt lära mig VBA.

Idag har jag ett verktyg

  • Som snabbt, några sekunder, hämtar information från en tråd oavsett om jag själv deltager eller inte. Jag klipper ut URL länken, klistrar in den i ett formulär som laddar några celler i en Excel arbetsbok samt skapar en textfil,  vilket tar 15 – 30 sekunder sammanlagt.
  • Som lagrar information i en Excel arbetsbok där den är sökbar via ordinarie funktioner.
  • Som lagrar större mängder av den hämtade informationen i enskilda text filer. Sökbara alla på en gång. Sekundsvar!
  • Som ger mig möjlighet att lämna svar på trådar baserat på tidigare ärenden.

Till vilken nytta frågar man sig? Drivkraften har varit att lära mig alltmer om VBA, genom att prova så många funktioner i VBA som möjligt. Har nog spenderat 3–4 veckor och haft roligt hela tiden.

Om någon är intresserad kan jag bidra med mer information. Lämna en kommentar/starta en diskussion här på bloggen. 

Tips till den som vill komma igång att jobba med VBA

Skaffa kunskap via nätet, det finns massor. Att hitta en sida som erbjuder exempelkod kan vara en god idé.

Börja utveckla i en produkt t.ex. Excel, även om VBA är tillgänglig för Word, Powerpoint och Outlook.

  • Öppna en ny arbetsbok
  • Välj fliken Utvecklare och sedan Visual Basic så skapas automatiskt ett VBA projekt att jobba med.
  • Spara arbetsboken som .xlsm och du är igång

Svårigheter på vägen

I total avsaknad av VBA kompetens från början har det blivit mycket letande på Internet.

Att analysera html koden för att kunna använda lämplig information har inte varit att leka med.

Beskrivning av lösningen och dess funktioner

Kod finns samlad i ett VBA projekt.

Anrop till koden sker med musklick från enskilda blad i arbetsboken. Ingen kod är mer än ett musklick bort.

Här finns några skärmklipp från applikationen som ger en samlad beskrivning.

Beskrivning av en ny lösning och dess funktioner

Baserat på ett nyligen identifierat problem och behov har jag förädlat mitt förra lilla projekt. Det nya går ut på att ”Underlätta arbetet med att återställa objekt som sparats med Filhistorik, då den maskinella rutinen inte fungerar”. I det här aktuella fallet skulle sparade objekt läggas in på en ny dator då den gamla totalhavererat.

Kod för denna lilla övning hittar du här .

Några länkar

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *