Kapitel 3 Case: rydde op i månedens salgstabel ・ MISSION 12

Mission 12: Kør fra en egen menu (onOpen)

📋 Missionsliste

Opgave

Sørg for, at en menu "Månedsafslutning" vises, når regnearket åbnes, og at "Markér store salg" kører markLarge. Genindlæs browseren (F5), når du har gemt, og kør fra menuen.

Salg oktober - Google Sheets
Salg oktober

Af hensyn til øvelsen går tabellen tilbage til starttilstanden før hver kørsel (et rigtigt regneark gør ikke det. Ændringer fra et script kan nogle gange fortrydes med Ctrl+Z, men ikke alle på én gang).

Apps ScriptUnavngivet projektImplementér ▾
function onOpen() {
SpreadsheetApp.getUi()
.('Månedsafslutning')
.addItem('Markér store salg', '')
.();
}
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 ? 'Stor' : '']);
sheet.getRange(2, 5, labels.length, 1).setValues(labels);
}
Ctrl+S: gem · Ctrl+R: kør (editor) · F5: åbn igen

Kapitel 3 ・ MISSION 12

Kør fra en egen menu (onOpen)

Sørg for, at en menu "Månedsafslutning" vises, når regnearket åbnes, og at "Markér store salg" kører markLarge. Genindlæs browseren (F5), når du har gemt, og kør fra menuen.

Nu
Mål (kør fra menuen "Månedsafslutning")

Læs koden

function onOpen() {
En funktion, der kører automatisk, når regnearket åbnes. Omdøber du den, kører den ikke.
SpreadsheetApp.getUi().createMenu('Månedsafslutning')
Laver en menu, der hedder "Månedsafslutning", på skærmen (Ui).
.addItem('Markér store salg', 'markLarge')
Tilføjer et punkt. Et klik kører funktionen markLarge.
.addToUi();
Viser den færdige menu i menulinjen.

En funktion, der hedder onOpen, kører automatisk, når regnearket åbnes. Tilføjer du en menu her, kan også de, der aldrig åbner Apps Script, køre opgaven fra menuen. Godt til regneark, som hele teamet bruger.

Hvordan du kommer i gang med GAS og almindelig kode, forklares i en artikel.Hvad er GAS? Kom i gang og almindelig kode

Den kode, du skriver, kører et isoleret sted inde på denne side. Den når ikke uden for siden eller til andre websteder.

* Dette er en simulering af, hvordan Google Sheets og Apps Script fungerer, og kan delvis afvige fra originalen.

* Google Sheets er et varemærke tilhørende Google LLC. Dette websted har ingen forbindelse til Google.