Esempi di Automazione con Google Docs e Google Drive utilizzando Google Apps Script
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.