H 4.3

onEdit Funktsioon Näide

Kood

function onEdit(e) {
  // Kontrollime, et sündmus eksisteerib
  if (!e) return;

  var range = e.range;
  var sheet = range.getSheet();

  // Töötame ainult lehel "synavara"
  if (sheet.getName() !== "synavara") return;

  // Töötame ainult A veeruga
  if (range.getColumn() !== 1) return;

  // Läbime kõik muudetud read (ka mitme rea kleepimine)
  for (var i = 0; i < range.getNumRows(); i++) {

    var row = range.getRow() + i;
    var cellValue = sheet.getRange(row, 1).getValue();

    // Kui lahter on tühi, jätame vahele
    if (!cellValue) continue;

    // Tõlge inglise -> eesti
    var translated = LanguageApp.translate(cellValue, 'en', 'et');

    // Kirjutame tulemuse B veergu
    sheet.getRange(row, 2).setValue(translated);
  }
}

Triger

Tulemus

Iseseisvalt onEdit Funktsioon

Kood

function onEdit2(e) {
  //Uus Funktsioon
  // Kontrollime, et sündmus eksisteerib
  if (!e) return;

  var range = e.range;
  var sheet = range.getSheet();

  // Töötame ainult lehel "Synavara2"
  if (sheet.getName() !== "Synavara2") return;

  // Töötame ainult A veeruga
  if (range.getColumn() !== 1) return;

  // Läbime kõik muudetud read (ka mitme rea kleepimine)
  for (var i = 0; i < range.getNumRows(); i++) {

    var row = range.getRow() + i;
    var cellValue = sheet.getRange(row, 1).getValue();

    // Kui lahter on tühi, jätame vahele
    if (!cellValue) continue;

    // Tõlge vene -> inglise, eesti, jne.
    var translatedEN = LanguageApp.translate(cellValue, 'ru', 'en');
    var translatedET = LanguageApp.translate(cellValue, 'ru', 'et');
    var translatedFI = LanguageApp.translate(cellValue, 'ru', 'fi');
    var translatedDE = LanguageApp.translate(cellValue, 'ru', 'de');

    // Kirjutame tulemuse B, C, jne. veergu
    sheet.getRange(row, 2).setValue(translatedEN);
    sheet.getRange(row, 3).setValue(translatedET);
    sheet.getRange(row, 4).setValue(translatedFI);
    sheet.getRange(row, 5).setValue(translatedDE);
  }
}

Triger

Tulemus

DriveApp Funktsioon

Kood

function createProjectFolder() {
  const folder = DriveApp.createFolder("Projekti kaust");
  Logger.log("Kaust loodud: " + folder.getName());
}

Tulemus

DriveApp Funktsioon 2

Kood

function renameFolder() {
  const folders = DriveApp.getFoldersByName("Projekti kaust");

  if (folders.hasNext()) {
    const folder = folders.next();
    folder.setName("Minu uus projekt");
    Logger.log("Kaust nimetati ümber");
  }
}

Tulemus

CalendarApp Funktsioon Näide

Kood

function createCalendarEvent() {
     const calendar = CalendarApp.getDefaultCalendar();
     calendar.createEvent("Koosolek", new Date(), new Date(new Date().getTime() + 60 * 60 * 1000));
     Logger.log("Sündmus on loodud");
   }

Tulemus

CalendarApp Funktsioon 1

Kood

function createMeetingEvent() {
  const calendar = CalendarApp.getDefaultCalendar();

  const start = new Date();
  const end = new Date(start.getTime() + 60 * 60 * 1000);

  calendar.createEvent("Projekti koosolek", start, end);

  Logger.log("Sündmus loodud");
}

Tulemus

CalendarApp Funktsioon 2

Kood

function customMeeting() {
  const calendar = CalendarApp.getDefaultCalendar();

  const start = new Date("2026-05-10 10:00");
  const end = new Date("2026-05-10 12:00");

  calendar.createEvent("Kasutaja sündmus", start, end);
}

Tulemus

DocumentApp Funktsioon Näide

Kood

 function createDocument() {
     const doc = DocumentApp.create("Uus dokument");
     const body = doc.getBody();
     body.appendParagraph("Tere, maailm!");
     Logger.log("Dokument on loodud nimega: " + doc.getName());
}

Tulemus

DocumentApp Funktsioon 1

Kood

function createProjectDocument() {
  const doc = DocumentApp.create("Projekti dokument");
  const body = doc.getBody();

  body.appendParagraph("Tere, see on projekti dokument.");
  
  Logger.log(doc.getName());
}

Tulemus

DocumentApp Funktsioon 2

Kood

function addMoreText() {
  const docs = DriveApp.getFilesByName("Projekti dokument");

  if (docs.hasNext()) {
    const file = docs.next();
    const doc = DocumentApp.openById(file.getId());

    doc.getBody()
      .appendParagraph("See tekst lisati hiljem.")
      .setBold(true);
  }
}

Tulemus

SpreadsheetApp Funktsioon Näide

Kood

function addSheet() {
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  spreadsheet.insertSheet("Uus leht");
  Logger.log("Leht on lisatud");
}

Tulemus

SpreadsheetApp Funktsioon 1

Kood

function createDataSheet() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.insertSheet("Andmed");

  sheet.appendRow(["Nimi", "Vanus", "E-post"]);
  
  Logger.log("Leht loodud");
}

Tulemus

Spreadsheet Funktsioon 2

Kood

function fillData() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet()
    .getSheetByName("Andmed");

  sheet.appendRow(["Mark", 18, "mark@gmail.com"]);
  sheet.appendRow(["Anna", 19, "anna@gmail.com"]);
}

Tulemus

FormsApp Funktsioon Näide

Kood 1:

function createForm() {
  const form = FormApp.create("Küsitlus");
  form.addMultipleChoiceItem()
  .setTitle("Mis on sinu lemmikvärv?")
  .setChoiceValues(["Punane", "Roheline", "Sinine"]);
  Logger.log("Vorm on loodud: " + form.getTitle());
}

Kood 2:

Kood 2 oli viga, pean kasutada AI

function addQuestionToExistingForm() {
  const formId = "1K0h6ZHOc9kqjY2odPbfHCNFsyDhWIzPM9YTZA-4crwI";
  const form = FormApp.openById(formId);

  if (form.getTitle() === "Küsitlus") {
    const multipleChoiceItem = form.addMultipleChoiceItem();
    multipleChoiceItem
      .setTitle("Kas sulle meeldib programmeerimine?")
      .setChoiceValues(["Jah", "Ei"]);

    const textItem = form.addTextItem();
    textItem.setTitle("Mis on sinu lemmik programmeerimiskeel?");

    const checkboxItem = form.addCheckboxItem();
    checkboxItem
      .setTitle("Milliseid tegevusi sa armastad?")
      .setChoiceValues([
        "Koodimine",
        "Lugemine",
        "Jooksmine",
        "Muusika kuulamine"
      ]);

    Logger.log("Küsimused lisatud vormi: " + form.getTitle());
  } else {
    Logger.log("Vorm nimega 'Küsitlus' ei leitud.");
  }
}

Kood 1 Tulemus

Kood 2 Tulemus

6. PropertiesService

Hakkasin uut vormingut kasutama

Kood

function updateAndDeleteProperty() {
  const userProperties = PropertiesService.getUserProperties();

  // väärtuse muutmine
  userProperties.setProperty("username", "newAdmin");
  Logger.log("Atribuut uuendatud");

  // väärtuse lugemine
  Logger.log(userProperties.getProperty("username"));

  // kustutamine
  userProperties.deleteProperty("username");
  Logger.log("Atribuut kustutatud");
}

Tulemus

7. UrlFetchApp

Kood

function updateData() {
  const url = "https://api.example.com/users/1";

  const options = {
    method: "put",
    contentType: "application/json",
    payload: JSON.stringify({
      name: "Jaan",
      age: 25
    })
  };

  const response = UrlFetchApp.fetch(url, options);
  Logger.log(response.getContentText());
}
function deleteData() {
  const url = "https://api.example.com/users/1";

  const options = {
    method: "delete"
  };

  const response = UrlFetchApp.fetch(url, options);
  Logger.log("Andmed kustutatud");
}

Tulemus