Obecnie rozwiązania chmurowe wypierają aplikacje desktopowe dedykowane pracy biurowej. Jeden z największych pakietów biurowych jest dostarczany przez Google i zawiera Dokumenty, Arkusze kalkulacyjne i Prezentacje, czyli większość tego, czego potrzebuje przeciętne biuro.
W tym artykule chciałbym przyjrzeć się bliżej aplikacji Arkusze kalkulacyjne Google i pokazać, jak uczynić ją jeszcze bardziej inteligentną za pomocą skryptu Google Apps.
Wyobraź sobie, że Twoja praca polega na nadzorowaniu pracy innych osób, co zwykle prowadzi do pisania raportów. Chcesz, aby wszystko było ustandaryzowane i ogólne, więc stworzyłeś arkusz kalkulacyjny z listą rzeczy, które musisz kontrolować i kilkoma komórkami na komentarz. Załóżmy, że jesteś odpowiedzialny za jakość cyfrowego produktu. produkt. Arkusz kalkulacyjny może wyglądać następująco:
W powyższym przykładzie widać kilka rzeczy:
nazwa funkcji ("Formularz logowania użytkownika") i numer (np. z systemu ERP),
lista aspektów, które należy sprawdzić i przekazać opinię (kolumna "Obszar"),
kilka pustych pól na wnioski (kolumna "Komentarz").
Ten arkusz nosi nazwę "Generator raportów", ponieważ zamierzam pokazać, jak ten dokument może przekształcić się w naprawdę przydatne narzędzie, pozwalające ocenić jakość wyników czyjejś pracy.
Jeśli chcesz określić ilościowo niektóre wyniki, prawdopodobnie najlepszym rozwiązaniem byłoby użycie skali, np. od 1 do 10 punktów, lub czegoś podobnego.
Utwórzmy nowy arkusz w tym samym dokumencie, nazwijmy go "Config" i zdefiniujmy go jako chroniony (lub przynajmniej dodajmy emoji blokady klawiszy do jego nazwy). Ten arkusz służy tylko do przechowywania niektórych predefiniowanych opcji, takich jak te poniżej:
Teraz możesz umieścić te wartości w niektórych polach rozwijanych w sekcji Generator raportów arkusz za pomocą Walidacja danych funkcja. Tutaj można znaleźć instrukcje, jak to osiągnąć:
Po wykonaniu tej czynności można łatwo przekonwertować oceny na wartości liczbowe za pomocą funkcji IF formuła. Arkusz kalkulacyjny pozostanie przyjazny dla człowieka, a wnioski będą kwantyfikowane (a więc mierzalne i porównywalne) w tym samym czasie.
Ten dokument jest schludny, ale wyobraź sobie, co się dzieje, gdy zakres twojego audyt rośnie i masz setki rzeczy do sprawdzenia. Możesz zapisać pusty szablon formularza i kopiować go za każdym razem, gdy chcesz utworzyć nowy raport, ale przełączanie się między listami dokumentów a arkuszem kalkulacyjnym jest bardzo irytujące. Jest to moment, w którym warto pomyśleć o automatyzacji.
To idealny czas, aby rozpocząć swoją przygodę ze skryptem Google Apps!
Zanim zaczniemy kodować, przygotujmy kilka przycisków dla akcji zbiorczych. Zgodnie z powyższym przykładem:
oznaczyć wszystkie elementy jako "Idealne"
oznaczyć wszystkie jako "Potrzebne ulepszenia"
oznaczyć wszystkie jako "Niedopuszczalne".
zresetuj wszystko (ustaw wartość na pusty ciąg).
Ponadto będziemy potrzebować jednej dodatkowej akcji, aby zapisać nowy plik po zakończeniu audytu.
Po pierwsze, rozszerzmy nasz Generator raportów z obszarem funkcjonalnym zawierającym przyciski.
Następnie, używając Wstaw -> RysunekDodajmy nasze przyciski, jeden po drugim.
Nasz przykładowy dokument powinien wyglądać następująco:
Jesteśmy gotowi dodać trochę logiki do tego pięknego interfejsu użytkownika! Bardzo łatwo jest zacząć - wystarczy wybrać Narzędzia -> Edytor skryptów w górnym menu, a przeglądarka przejdzie do nowej karty.
Interfejs edytora jest bardzo intuicyjny. Jeśli jesteś zaznajomiony z jakimkolwiek kod editor, powinieneś łatwo zmienić nazwę pliku lub utworzyć nowy (Plik -> Nowy -> Plik skryptu).
Skrypt Google Apps to nic innego jak kuzyn JavaScript, że tak powiem. Jeśli znasz JS, możesz również osiągnąć biegłość w GS!
Pierwszym krokiem jest zebranie wszystkich potrzebnych referencji w jednym miejscu i nadanie im znaczących nazw. Zaczynamy od zmiennych globalnych, usuwając domyślną zmienną myFunction i wpisanie czegoś bardziej użytecznego w Code.gs plik.
var arkusz kalkulacyjny = SpreadsheetApp.getActiveSpreadsheet()
// odniesienia do arkuszy
var report = spreadsheet.getSheets()[0]
var config = spreadsheet.getSheets()[1]
Powyższy kod jest dość oczywisty, ale aby był całkowicie jasny:
getActiveSpreadsheet pozwala nam uzyskać odniesienie do arkusza kalkulacyjnego, nad którym pracujemy,
getSheets metoda wywołana na Arkusz kalkulacyjny zwraca tablicę arkuszy z tego arkusza kalkulacyjnego; w naszym przykładzie zwraca [Generator raportów arkusz, Konfiguracja arkusz].
Teraz możemy przejść dalej i pobrać przydatne dane z naszego arkusza kalkulacyjnego.
// obszar edytowalny (komórki z listami rozwijanymi)
var dropdowns = report.getRange('C4:C13')
// komórka z podtytułem (nazwa funkcji)
var featureName = report.getRange('B2').getValue()
// opcje z arkusza "Config
// zauważ, że możesz przekazać pojedynczą komórkę do metody getRange()
// a zmiana opcji nie wpływa na funkcjonalność skryptu.
var values = {
unacceptable: config.getRange('A2').getValue(),
improvements_needed: config.getRange('A3').getValue(),
perfect: config.getRange('A4').getValue(),
empty: ''
};
Jedyne, co pozostało do zakodowania, to definicja funkcji, które chcemy przypisać do naszych przycisków.
// funkcje przycisków
function allPerfect() {
dropdowns.setValue(values.perfect)
}
function allNeedImprovements() {
dropdowns.setValue(values.improvements_needed)
}
function allUnacceptable() {
dropdowns.setValue(values.unacceptable)
}
function clear() {
dropdowns.setValue(values.empty)
}
function copy() {
var copy = spreadsheet.copy(featureName + ' - report')
// Teraz skopiowaliśmy dwa arkusze z tymi samymi wartościami
// ale zmienionymi nazwami (z przyrostkiem "copy"),
// w tym przypadku musimy nadać im oryginalne nazwy
// zmień nazwę arkusza raportu
copy.getSheets()[0].setName(report.getName())
// zmiana nazwy arkusza konfiguracji
copy.getSheets()[1].setName(config.getName())
}
The copy() automatycznie utworzy nowy arkusz kalkulacyjny o nazwie (w naszym przykładzie) "Formularz logowania użytkownika - raport", tuż obok bieżącego.
Przypisz nasze metody do utworzonych wcześniej przycisków. Wybierz Przypisywanie skryptu po kliknięciu przycisku prawym przyciskiem myszy...
...i wpisz nazwę metody, tutaj jest to allPerfect
Nie musisz zamykać generatora. Użyj akcji zbiorczych, aby przygotować formularz dla nowego raportu, zmień nazwę funkcji, a następnie zapisz kolejną kopię!
Możliwości Skrypt Google Apps są tak szerokie, że omówienie ich wszystkich zajęłoby całą serię artykułów. Jeśli jesteś zainteresowany optymalizacją swojej pracy biurowej, zapraszamy do zapoznania się z sekcją oficjalne dokumenty i uczyń swoje prześcieradła jeszcze bardziej inteligentnymi!
Istnieje kilka naprawdę przydatnych hacków, takich jak ten z xfanatical.com o eksportowaniu arkusza kalkulacyjnego Google do formatu PDF.
Przykład opisany w tym artykule to tutaj. Mam nadzieję, że ci się spodoba. Miłej zabawy!