Copier un fichier avec Apps Script

Il est possible de créer une copie d'un document Google Sheets très facilement avec Apps Script.


Copier dans le même dossier

Pour copier le fichier en cours d'utilisation dans le même dossier, exécutez ce script :

function copierFichier() {
  // Source : https://www.sheets-pratique.com/fr/codes/copier-fichier
  const fichier = DriveApp.getFileById(SpreadsheetApp.getActive().getId());
  const nomNouveauFichier = 'NOM_NOUVEAU_FICHIER';
  fichier.makeCopy(nomNouveauFichier);
}

Ou plus court :

function copierFichier() {
  // Source : https://www.sheets-pratique.com/fr/codes/copier-fichier
  DriveApp.getFileById(SpreadsheetApp.getActive().getId()).makeCopy('NOM_NOUVEAU_FICHIER');
}
Pour copier un fichier autre que celui en cours d'utilisation, remplacez SpreadsheetApp.getActive().getId() par l'ID du fichier à copier.

Copier dans un autre dossier

Pour copier le fichier en cours d'utilisation dans un dossier différent, remplacez ID_DOSSIER par l'ID du dossier cible et exécutez ce script :

function copierFichier() {
  // Source : https://www.sheets-pratique.com/fr/codes/copier-fichier
  const fichier = DriveApp.getFileById(SpreadsheetApp.getActive().getId());
  const dossier = DriveApp.getFolderById('b9bjDqLiUSqh1qhd0J0pA24kaHDVGdi66');
  const nomNouveauFichier = 'NOM_NOUVEAU_FICHIER';
  fichier.makeCopy(nomNouveauFichier, dossier);
}

Ou plus court :

function copierFichier() {
  // Source : https://www.sheets-pratique.com/fr/codes/copier-fichier
  DriveApp.getFileById(SpreadsheetApp.getActive().getId()).makeCopy('NOM_NOUVEAU_FICHIER', DriveApp.getFolderById('ID_DOSSIER'));
}

Vous pouvez récupérer l'ID d'un dossier en ouvrant le dossier dans Google Drive :

https://drive.google.com/drive/folders/b9bjDqLiUSqh1qhd0J0pA24kaHDVGdi66

Copiez ensuite l'ID qui se trouve dans son URL, dans cet exemple l'ID est :

b9bjDqLiUSqh1qhd0J0pA24kaHDVGdi66