🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esempi di Automazione con Google Docs e Google Drive utilizzando Google Apps Script

Codegrind Team•Aug 23 2024

L’automazione di attività con Google Docs e Google Drive utilizzando Google Apps Script può semplificare notevolmente la gestione dei documenti e dei file, risparmiando tempo e riducendo il rischio di errori. In questa guida, esploreremo alcuni esempi pratici di automazione che ti aiuteranno a sfruttare al massimo queste due potenti applicazioni di Google.

Esempio 1: Generazione Automatica di Documenti da Template

Descrizione

Automatizza la creazione di documenti personalizzati basati su un modello predefinito, sostituendo i segnaposto con dati specifici.

Script

function generateDocumentFromTemplate() {
  var templateId = "ID_DEL_TEMPLATE"; // ID del documento template
  var folderId = "ID_CARTELLA_DESTINAZIONE"; // ID della cartella di destinazione
  var template = DriveApp.getFileById(templateId);

  // Duplicazione del template
  var newDoc = template.makeCopy(
    "Documento Personalizzato",
    DriveApp.getFolderById(folderId)
  );
  var doc = DocumentApp.openById(newDoc.getId());
  var body = doc.getBody();

  // Sostituzione dei segnaposto con dati reali
  body.replaceText("{{Nome}}", "Mario Rossi");
  body.replaceText("{{Data}}", new Date().toLocaleDateString());

  // Salva e chiudi il documento
  doc.saveAndClose();
  Logger.log("Documento generato: " + newDoc.getUrl());
}

Risultato

Questo script genera un nuovo documento basato su un template esistente, sostituendo i segnaposto con informazioni specifiche, come il nome e la data, e salva il documento in una cartella designata.

Esempio 2: Backup Automatico di Documenti Google Docs

Descrizione

Crea un backup periodico dei documenti Google Docs salvandoli in formato PDF in una cartella di backup.

Script

function backupDocumentsToPDF() {
  var folderId = "ID_CARTELLA_DOCUMENTI"; // ID della cartella contenente i documenti da salvare
  var backupFolderId = "ID_CARTELLA_BACKUP"; // ID della cartella di backup

  var folder = DriveApp.getFolderById(folderId);
  var backupFolder = DriveApp.getFolderById(backupFolderId);
  var files = folder.getFilesByType(MimeType.GOOGLE_DOCS);

  while (files.hasNext()) {
    var file = files.next();
    var pdf = file.getAs("application/pdf");
    backupFolder
      .createFile(pdf)
      .setName(file.getName() + "_backup_" + new Date().toISOString() + ".pdf");
    Logger.log("Backup creato per: " + file.getName());
  }
}

Risultato

Questo script esegue un backup di tutti i documenti Google Docs in una cartella specificata, convertendoli in PDF e salvandoli in una cartella di backup con un nome che include la data e l’ora del backup.

Esempio 3: Condivisione Automatizzata di Documenti con Notifica via Email

Descrizione

Condividi automaticamente un documento con uno o più destinatari e invia loro una notifica via email.

Script

function shareDocumentWithNotification() {
  var docId = "ID_DEL_DOCUMENTO"; // ID del documento da condividere
  var doc = DriveApp.getFileById(docId);
  var email = "destinatario@example.com";

  // Condivisione del documento
  doc.addEditor(email);

  // Invio della notifica via email
  MailApp.sendEmail({
    to: email,
    subject: "Accesso al documento condiviso",
    body:
      "Hai ricevuto accesso al documento: " +
      doc.getName() +
      ". Puoi accedervi qui: " +
      doc.getUrl(),
  });

  Logger.log("Documento condiviso con: " + email);
}

Risultato

Questo script automatizza la condivisione di un documento Google Docs con un destinatario specifico e invia una notifica via email contenente il link al documento condiviso.

Esempio 4: Monitoraggio delle Modifiche in un Documento e Generazione di Report

Descrizione

Monitora le modifiche apportate a un documento Google Docs e genera un report dettagliato delle modifiche.

Script

function monitorDocumentChanges() {
  var docId = "ID_DEL_DOCUMENTO"; // ID del documento da monitorare
  var doc = DriveApp.getFileById(docId);
  var lastUpdated = doc.getLastUpdated();

  // Verifica se il documento è stato modificato nelle ultime 24 ore
  if (lastUpdated > new Date(Date.now() - 24 * 60 * 60 * 1000)) {
    var report =
      "Documento: " + doc.getName() + "\nUltima modifica: " + lastUpdated;

    // Salvataggio del report in un foglio di calcolo
    var spreadsheet = SpreadsheetApp.create("Report Modifiche Documento");
    var sheet = spreadsheet.getActiveSheet();
    sheet.appendRow(["Documento", "Ultima Modifica"]);
    sheet.appendRow([doc.getName(), lastUpdated]);

    Logger.log("Report generato: " + spreadsheet.getUrl());
  }
}

Risultato

Questo script monitora un documento specifico per eventuali modifiche recenti e genera un report con le informazioni sulle modifiche in un nuovo foglio di calcolo.

Conclusione

Questi esempi mostrano come Google Apps Script possa essere utilizzato per automatizzare attività comuni e complesse in Google Docs e Google Drive. Con un po’ di programmazione, puoi risparmiare tempo, ridurre errori e migliorare l’efficienza delle tue operazioni quotidiane.