Google Apps Script Drive

Bonjour,

Une petite question à partir d'un code Ci-dessous

// liste les fichiers 
function GSheets(){
  var feuille = SpreadsheetApp.getActiveSheet()
  feuille.clear();
  feuille.appendRow(["Nom", "URL","Type"]);
  feuille.getRange(1,1,1,3).setFontWeight("bold"); 
      var i =1
   //var files = DriveApp.getFilesByType(MimeType.GOOGLE_SHEETS);
  var files = DriveApp.searchFiles('title contains "Liste"');

  while (files.hasNext()) {
    var file = files.next();
    feuille.getRange(i + 1, 1).setValue(file.getName());
    feuille.getRange(i + 1, 2).setValue(file.getUrl());
    feuille.getRange(i + 1, 3).setValue(file.getMimeType());
    i++;
  }

}

Ce code me liste bien les fichiers du Drive sur la feuille active si le titre des fichiers contient "Liste"

ou il me liste bien les fichiers du Drive sur la feuille active si les fichiers sont des applications GSheets

mais comment faire pour avoir les deux conditions ensembles.

Merci

Gilbert

Bonjour Gilbert,

j'avais fait une appli pour lister les fichiers ... https://www.sheets-pratique.com/fr/telechargements/utilitaires/explorer-le-drive-sheets-no534

maintenant, je n'ai pas bien compris ta question, si tu trouves dans cette appli une réponse, tant mieux !

Bonjour,

Ce code me liste bien les fichiers du Drive sur la feuille active si le titre des fichiers contient "Liste"

ou il me liste bien les fichiers du Drive sur la feuille active si les fichiers sont des applications GSheets

mais comment faire pour avoir les deux conditions ensembles.

Tu peux les combiner comme ça :

var files = DriveApp.searchFiles(`title contains "Liste" and mimeType = "${MimeType.GOOGLE_SHEETS}"`);

Cordialement,

En passant, une version légèrement simplifiée :

// liste les fichiers 
function GSheets(){
  const f = SpreadsheetApp.getActiveSheet();
  f.clear().appendRow(['Nom', 'URL', 'Type']).getRange(1, 1, 1, 3).setFontWeight('bold');
  const files = DriveApp.searchFiles(`title contains "Liste" and mimeType = "${MimeType.GOOGLE_SHEETS}"`);
  while (files.hasNext()) {
    const file = files.next();
    f.appendRow([file.getName(), file.getUrl(), file.getMimeType()]);
  }
}

Un super Merci à vous deux

@Sébastien

c'est exactement ce que je voulais, impeccable

une petite explication sur le $ devant {MimeType.GOOGLE_SHEETS } ?

peut-on ajouter {MimeType.GOOGLE_DOCS } ?

une petite explication sur le $ devant {MimeType.GOOGLE_SHEETS } ?

Cette ligne ...

`title contains "Liste" and mimeType = "${MimeType.GOOGLE_SHEETS}"`
ligne script

... est équivalente à :

'title contains "Liste" and mimeType = "' + MimeType.GOOGLE_SHEETS + '"'
ligne 2

EDIT : j'ai ajouté les versions dark mode, ça ressort beaucoup mieux

Si tu retires le $, {MimeType.GOOGLE_SHEETS} sera juste considéré comme du texte.

Pour plus d'infos : https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Litt%C3%A9raux_gabarits

peut-on ajouter {MimeType.GOOGLE_DOCS } ?

Peut-être comme ça (non testé) :

const files = DriveApp.searchFiles(`title contains "Liste" and (mimeType = "${MimeType.GOOGLE_SHEETS}" or mimeType = "${MimeType.GOOGLE_DOCS}")`);

"Peut-être comme ça (non testé) :"

Fonctionne très bien Merci Sébastien

Si tu retires le $, {MimeType.GOOGLE_SHEETS} sera juste considéré comme du texte.

Pour plus d'infos : https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Litt%C3%A9raux_gabarits

Très intéressant, évite la profusion des ' et des ", un peu comme en php

Rechercher des sujets similaires à "google apps script drive"