I dag presser skyløsninger ut desktop-apper som er dedikert til kontorarbeid. En av de største kontorpakkene leveres av Google og inneholder dokumenter, regneark og presentasjoner, altså det meste av det et gjennomsnittlig kontor trenger.
I denne artikkelen vil jeg se nærmere på Google Spreadsheets-appen og vise deg hvordan du kan gjøre den enda smartere ved hjelp av Google Apps Script
Tenk deg at jobben din går ut på å føre tilsyn med andres arbeid, noe som vanligvis fører til at du må skrive noen rapporter. Du ønsker å holde ting standardisert og generisk, så du har laget et regneark med en liste over ting du må kontrollere, og noen celler for en kommentar. La oss anta at du er ansvarlig for kvaliteten på en digital produkt. Da kan regnearket ditt se slik ut:
I eksempelet ovenfor kan du se flere ting:
funksjonsnavn ("Brukerpåloggingsskjema") og nummer (f.eks. fra et ERP-system),
liste over aspekter du må sjekke og gi tilbakemelding på (kolonnen "Område"),
noen tomme felt for konklusjonene dine (kolonnen "Kommentar").
Dette arket heter "Rapportgenerator", fordi jeg skal vise deg hvordan dette dokumentet kan utvikle seg til å bli et virkelig nyttig verktøy, slik at du kan vurdere kvaliteten på noens arbeidsresultater.
Hvis du ønsker å kvantifisere noen resultater, er det beste alternativet sannsynligvis å bruke en skala, f.eks. 1-10 poeng, eller noe i denne retningen.
La oss opprette et nytt ark i det samme dokumentet, kalle det "Config" og definere det som beskyttet (eller i det minste legge til en keylock-emoji i navnet). Dette arket er kun ment for å oppbevare noen forhåndsdefinerte alternativer, som de nedenfor:
Nå kan du legge disse verdiene inn i noen rullegardinmenyer i Rapportgenerator ark ved å bruke Validering av data funksjon. Her kan du finne noen instruksjoner om hvordan du oppnår dette:
Når du har gjort dette, kan du enkelt konvertere rangeringer til numeriske verdier ved å bruke IF formel. Regnearket ditt forblir menneskevennlig, samtidig som konklusjonene dine blir kvantifiserte (og dermed målbare og sammenlignbare).
Dette dokumentet er ryddig, men tenk deg hva som skjer når omfanget av revisjon vokser, og du har hundrevis av ting å sjekke. Du kan lagre en tom skjemamal og kopiere den hver gang du skal lage en ny rapport, men det er veldig irriterende å veksle mellom dokumentlister og regnearket. Det er nå du begynner å tenke på automatisering.
Det er det perfekte tidspunktet for å starte ditt eventyr med Google Apps Script!
Før vi begynner å kode, la oss forberede noen knapper for massehandlinger. I henhold til eksempelet ovenfor:
Merk alle elementer som "Perfekt".
Merk alle som "Forbedringer nødvendig".
Merk alle som "Uakseptabelt".
reset all (sett verdien til en tom streng).
Vi trenger også en ekstra handling for å lagre en ny fil når revisjonen er ferdig.
La oss først utvide vår Rapportgenerator med funksjonsområdet som inneholder knapper.
Deretter, ved å bruke Sett inn -> TegningNå legger vi til knappene våre, en etter en.
Vårt eksempeldokument skal se slik ut:
Vi er klare til å legge til litt logikk i dette vakre brukergrensesnittet! Det er veldig enkelt å begynne - bare velg Verktøy -> Skriptredigeringsprogram i toppmenyen, og nettleseren vil hoppe til et nytt kort.
Redigeringsverktøyets grensesnitt er svært intuitivt. Hvis du er kjent med noen kode kan du enkelt endre navn på filen din eller opprette en ny (Fil -> Ny -> Skriptfil).
Google Apps Script er ikke noe annet enn en fetter av JavaScript, for å si det sånn. Hvis du kan JS, kan du også oppnå GS-ferdigheter!
Det aller første trinnet er å samle alle referanser som kan være nødvendige, på ett sted og gi dem noen meningsfulle navn. Vi starter med globale variabler ved å fjerne standard myFunction erklæringen og skrive noe mer nyttig i Kode.gs fil.
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet()
// arkreferanser
var report = spreadsheet.getSheets()[0]
var config = regneark.getSheets()[1]
Koden ovenfor er ganske selvforklarende, men for å gjøre det helt klart:
RegnearkApp klassen er tilgjengelig i en global kontekst,
getActiveSpreadsheet metoden lar oss hente referansen til regnearket vi jobber med,
getSheets metoden som kalles på Regneark instansen returnerer en matrise med ark fra dette regnearket; i vårt eksempel returnerer den [Rapportgenerator ark, Konfigurer ark] matrise.
Nå kan vi gå videre og hente ut nyttige data fra regnearket vårt.
// redigerbart område (celler med nedtrekksmenyer)
var dropdowns = report.getRange('C4:C13')
// celle med undertittel (funksjonsnavn)
var featureName = report.getRange('B2').getValue()
// alternativer fra 'Config'-arket
// legg merke til at du kan sende en enkelt celle til getRange()-metoden
// og endring av alternativer påvirker ikke skriptets funksjonalitet
var verdier = {
uakseptabel: config.getRange('A2').getValue(),
improvements_needed: config.getRange('A3').getValue(),
perfect: config.getRange('A4').getValue(),
empty: ''
};
Det eneste som gjenstår å kode, er definisjonen av funksjonene vi ønsker å tilordne knappene våre.
// knappefunksjoner
function allPerfect() {
dropdowns.setValue(values.perfect)
}
function allNeedImprovements() {
dropdowns.setValue(values.improvements_need)
}
function allUnacceptable() {
dropdowns.setValue(verdier.uakseptable)
}
function clear() {
dropdowns.setValue(values.empty)
}
function copy() {
var copy = spreadsheet.copy(featureName + ' - report')
// Nå har vi kopiert to ark med samme verdier
// men med endrede navn (med suffikset "copy"),
// i dette tilfellet må vi gi dem opprinnelige navn
// gi nytt navn til rapportarket
copy.getSheets()[0].setName(report.getName())
// gi nytt navn til konfigurasjonsarket
copy.getSheets()[1].setName(config.getName())
}
Den copy() metoden vil automatisk opprette et nytt regneark med navnet (i vårt eksempel) "Brukerinnloggingsskjema - rapport", rett ved siden av den nåværende.
Tilordne metodene våre til knappene som ble opprettet tidligere. Velg Tilordne et skript etter et høyreklikk på knappen...
...og skriv inn metodens navn, her er det allPerfect
Du trenger ikke å lukke generatoren. Bruk massehandlingene dine til å klargjøre skjemaet for en ny rapport, endre funksjonsnavnet og lagre en ny kopi!
Muligheter for Google Apps Script er så mange at det ville kreve en hel artikkelserie å diskutere dem alle. Hvis du er interessert i å optimalisere kontorarbeidet ditt, kan du ta en titt på offisielle dokumenter og gjør lakenene dine enda smartere!
Det finnes noen virkelig nyttige hacks der ute, som denne fra xfanatical.com om eksport av Google Regneark til PDF.
Eksemplet som beskrives i denne artikkelen er her. Håper du vil elske det. God fornøyelse!