SKRIPT
Potvrzení o seznámení s řídícím dokumentem

// Funkce pro spuštění z hypertextového odkazu v dokumentu

function onOpen() {

  DocumentApp.getUi().createMenu('Potvrzení o přečtení dokumentu')

    .addItem('Potvrzuji přečtení dokumentu', 'logReadConfirmation')

    .addToUi();

}


// Funkce pro použití v dokumentu

function logReadConfirmation() {

  var doc = DocumentApp.getActiveDocument();

  var docName = doc.getName();

  var userEmail = Session.getActiveUser().getEmail();

  logToSpreadsheet(docName, userEmail);

 

  // Zobrazení potvrzovacího hlášení v dokumentu

  var htmlOutput = HtmlService.createHtmlOutput('<div style="background-color:blue; color:white; padding:10px; font-size:12px;">Potvrzení o přečtení bylo zaznamenáno. Děkujeme vám, že jste se seznámil/a s obsahem dokumentu</div>')

    .setWidth(300)

    .setHeight(100);

  DocumentApp.getUi().showModalDialog(htmlOutput, 'Potvrzení');

}


// Funkce pro nasazení jako webová aplikace

function doGet(e) {

  var docName = e.parameter.docName;

  var userEmail = e.parameter.userEmail;

 

  if (docName && userEmail) {

    logToSpreadsheet(docName, userEmail);

    return HtmlService.createHtmlOutput('<div style="background-color:blue; color:white; padding:10px; font-size:12px;">Potvrzení o přečtení bylo zaznamenáno. Děkujeme vám, že jste se seznámil/a s obsahem dokumentu</div>');

  } else {

    return HtmlService.createHtmlOutput('<div style="background-color:red; color:white; padding:10px; font-size:12px;">Chyba: Chybí potřebné parametry</div>');

  }

}


// Společná funkce pro logování do tabulky

function logToSpreadsheet(docName, userEmail) {

  var currentDate = new Date();

 

  var sheetId = '1yJUiQLjRMlUPOxJvoWHB8qTnF30bLNoV1uT9ZXR95qr';

  var sheetName = 'evidence';

 

  var sheet = SpreadsheetApp.openById(sheetId).getSheetByName(sheetName);

  var lastRow = sheet.getLastRow() + 1;


  // Vložení dat do tabulky

  sheet.getRange(lastRow, 1).setValue(currentDate);

  sheet.getRange(lastRow, 2).setValue(userEmail);

  sheet.getRange(lastRow, 3).setValue(docName);

}