Kapitola 3 Případová studie: úprava měsíční tabulky prodejů ・ MISE 12

Mise 12: Spouštět z vlastní nabídky (onOpen)

📋 Seznam misí

Zadání

Zařiďte, aby se při otevření tabulky objevila nabídka „Měsíční uzávěrka“ a „Označit velké obchody“ spustilo markLarge. Po uložení obnovte prohlížeč (F5) a spusťte to z nabídky.

Prodeje říjen - Tabulky Google
Prodeje říjen

Kvůli cvičení se tabulka před každým spuštěním vrátí do výchozího stavu (skutečná tabulka se nevrací. Změny skriptu jde někdy vrátit přes Ctrl+Z, ale ne všechny najednou).

Apps ScriptProjekt bez názvuNasadit ▾
function onOpen() {
SpreadsheetApp.getUi()
.('Měsíční uzávěrka')
.addItem('Označit velké obchody', '')
.();
}
function markLarge() {
const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.getLastRow();
const amounts = sheet.getRange(2, 4, lastRow - 1, 1).getValues();
const labels = amounts.map((row) => [row[0] >= 100000 ? 'Velká' : '']);
sheet.getRange(2, 5, labels.length, 1).setValues(labels);
}
Ctrl+S: uložit · Ctrl+R: spustit (editor) · F5: otevřít znovu

Kapitola 3 ・ MISE 12

Spouštět z vlastní nabídky (onOpen)

Zařiďte, aby se při otevření tabulky objevila nabídka „Měsíční uzávěrka“ a „Označit velké obchody“ spustilo markLarge. Po uložení obnovte prohlížeč (F5) a spusťte to z nabídky.

Teď
Cíl (spustit z nabídky „Měsíční uzávěrka“)

Čtení kódu

function onOpen() {
Funkce, která se spustí automaticky při otevření tabulky. Po přejmenování se nespustí.
SpreadsheetApp.getUi().createMenu('Měsíční uzávěrka')
Vytvoří na obrazovce (Ui) nabídku jménem „Měsíční uzávěrka“.
.addItem('Označit velké obchody', 'markLarge')
Přidá položku. Kliknutí spustí funkci markLarge.
.addToUi();
Zobrazí hotovou nabídku v liště nabídek.

Funkce s názvem onOpen se spustí automaticky při otevření tabulky. Když sem přidáte nabídku, spustí úlohu z nabídky i ti, kdo Apps Script nikdy neotevřou. Hodí se pro tabulky, které používá celý tým.

Jak začít s GAS a běžný kód popisujeme v článku.Co je GAS? Jak začít a běžný kód

Kód, který napíšete, běží v izolovaném prostoru uvnitř této stránky. Nedostane se mimo stránku ani na jiné weby.

* Jde o simulaci chování Tabulek Google a Apps Script, která se může v některých bodech lišit od originálu.

* Tabulky Google jsou ochranná známka společnosti Google LLC. Tento web není s Googlem nijak spojen.