FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

3 Scripts Puissants Google Apps Script pour Automatiser Vos Documents Google Docs

Google Docs, outil de traitement de texte basé sur le cloud, surpasse souvent les applications locales comme Microsoft Word grâce à ses possibilités d'automatisation via Google Apps Script. Ces scripts puissants permettent de gagner un temps précieux en automatisant la création de documents.

Découvrez trois scripts essentiels : générer un document à partir d'invitations utilisateur, importer des données Google Analytics dans un rapport, et créer un document à partir d'une feuille Google Sheets.

1. Créer un document à partir d'invitations utilisateur

Pour les e-mails récurrents, rapports mensuels de ventes ou mises à jour hebdomadaires, un modèle automatisé est idéal. Créez un Google Doc modèle où les variables à remplir sont entourées de ##, comme ##nom##.

3 Scripts Puissants Google Apps Script pour Automatiser Vos Documents Google Docs

Dans ce modèle, ajoutez un script qui s'exécute à l'ouverture pour saisir les données via des invites.

Accédez à Outils > Éditeur de scripts.

3 Scripts Puissants Google Apps Script pour Automatiser Vos Documents Google Docs

Remplacez le code par celui-ci :

function onOpen() {
  var ui = DocumentApp.getUi();
  var nameResponse = ui.prompt('Entrez le nom du vendeur');
  var client1Response = ui.prompt('Entrez le client 1');
  var sales1Response = ui.prompt('Entrez les ventes 1');
  var client2Response = ui.prompt('Entrez le client 2');
  var sales2Response = ui.prompt('Entrez les ventes 2');
  var client3Response = ui.prompt('Entrez le client 3');
  var sales3Response = ui.prompt('Entrez les ventes 3');
  var commissionResponse = ui.prompt('Entrez la commission');
  var date = new Date();

  // Copie du modèle (remplacez par votre ID)
  var documentId = DriveApp.getFileById('VOTRE_ID_MODELE').makeCopy().getId();

  // Renommer
  DriveApp.getFileById(documentId).setName(nameResponse.getResponseText() + ' - ' + date + ' Rapport Ventes');

  // Remplacer les placeholders
  var body = DocumentApp.openById(documentId).getBody();
  body.replaceText('##name##', nameResponse.getResponseText());
  body.replaceText('##client1##', client1Response.getResponseText());
  body.replaceText('##sales1##', sales1Response.getResponseText());
  body.replaceText('##client2##', client2Response.getResponseText());
  body.replaceText('##sales2##', sales2Response.getResponseText());
  body.replaceText('##client3##', client3Response.getResponseText());
  body.replaceText('##sales3##', sales3Response.getResponseText());
  body.replaceText('##commission##', commissionResponse.getResponseText());
}

L'ID du modèle est dans l'URL du document : docs.google.com/document/d/ID_ICI/edit.

3 Scripts Puissants Google Apps Script pour Automatiser Vos Documents Google Docs

Enregistrez (icône disquette), exécutez pour tester (autorisations requises). Les invites apparaissent ; un nouveau document est créé dans Drive.

3 Scripts Puissants Google Apps Script pour Automatiser Vos Documents Google Docs3 Scripts Puissants Google Apps Script pour Automatiser Vos Documents Google Docs

Configurez le déclencheur : Modifier > Déclencheurs du projet actuel > Ajouter déclencheur, type À l'ouverture.

3 Scripts Puissants Google Apps Script pour Automatiser Vos Documents Google Docs

2. Importer Google Analytics dans un rapport

Pour les rapports de trafic web, utilisez un modèle avec placeholders comme ##users##.

3 Scripts Puissants Google Apps Script pour Automatiser Vos Documents Google Docs

Activez l'API Analytics : Ressources > Services Google avancés > Activer Google Analytics API, suivez les étapes Cloud Platform.

3 Scripts Puissants Google Apps Script pour Automatiser Vos Documents Google Docs
function generateReport() {
  var tableId = 'ga:VOTRE_ID_ANALYTICS';
  var startDate = getLastNdays(7);
  var endDate = getLastNdays(0);
  var date = new Date();

  var results = Analytics.Data.Ga.get(
    tableId,
    startDate,
    endDate,
    'ga:users,ga:sessions,ga:pageviews',
    {'dimensions': 'ga:date'}
  );

  var totals = results.totalsForAllResults;
  var users = totals['ga:users'];
  var sessions = totals['ga:sessions'];
  var pageviews = totals['ga:pageviews'];

  // Copie modèle
  var documentId = DriveApp.getFileById('VOTRE_ID_MODELE').makeCopy().getId();
  DriveApp.getFileById(documentId).setName(date + ' Rapport Site Web');

  var body = DocumentApp.openById(documentId).getBody();
  body.replaceText('##startdate##', startDate);
  body.replaceText('##enddate##', endDate);
  body.replaceText('##users##', users);
  body.replaceText('##sessions##', sessions);
  body.replaceText('##pageviews##', pageviews);
}

function getLastNdays(nDaysAgo) {
  var today = new Date();
  var past = new Date(today.getTime());
  past.setDate(today.getDate() - nDaysAgo);
  return Utilities.formatDate(past, 'GMT', 'yyyy-MM-dd');
}

Remplacez les IDs. Testez, puis déclenchez hebdomadaire : Temporel > Programmer hebdomadaire.

3 Scripts Puissants Google Apps Script pour Automatiser Vos Documents Google Docs3 Scripts Puissants Google Apps Script pour Automatiser Vos Documents Google Docs

3. Créer un document à partir d'une Google Sheet

Transférez des données Sheets vers Docs pour rapports.

Modèle avec ##client1## etc.

3 Scripts Puissants Google Apps Script pour Automatiser Vos Documents Google Docs

Exemple Sheet :

3 Scripts Puissants Google Apps Script pour Automatiser Vos Documents Google Docs

Dans Sheets : Outils > Éditeur de scripts.

function generateReport() {
  var date = new Date();
  var ss = SpreadsheetApp.openById('ID_SHEET');
  var sheet = ss.getSheetByName('Sam');

  var documentId = DriveApp.getFileById('ID_MODELE').makeCopy().getId();
  DriveApp.getFileById(documentId).setName('Sam ' + date + ' Rapport Ventes');

  var body = DocumentApp.openById(documentId).getBody();
  var range = sheet.getRange('A2:B4');
  body.replaceText('##nom##', 'Sam');
  for (var i = 1; i < 4; i++) {
    var clientCell = range.getCell(i, 1);
    var client = clientCell.getValue();
    body.replaceText('##client' + i + '##', client);
    var salesCell = range.getCell(i, 2);
    var sales = salesCell.getValue();
    body.replaceText('##sales' + i + '##', sales);
  }
}

Testez (autorisations). Résultat :

3 Scripts Puissants Google Apps Script pour Automatiser Vos Documents Google Docs

Adaptez pour plusieurs onglets.

Plus de scripts Google

Google Docs gagne en puissance avec Apps Script. Les modèles sont clés pour l'efficacité. Explorez aussi les scripts Sheets pour plus d'automatisations.

[]