Partager via


Exécuter un script sur tous les fichiers Excel d’un dossier

Ce projet effectue un ensemble de tâches d’automatisation sur tous les fichiers situés dans un dossier sur OneDrive Entreprise. Il peut également être utilisé sur un dossier SharePoint. Il effectue des calculs sur les fichiers Excel, ajoute une mise en forme et insère un commentaire qui @mentions un collègue.

Exemples de fichiers Excel

Téléchargez highlight-alert-excel-files.zip pour tous les classeurs dont vous aurez besoin pour cet exemple. Extrayez ces fichiers dans un dossier intitulé Ventes. Ajoutez le script suivant à votre collection de scripts pour essayer l’exemple vous-même !

Exemple de code : ajouter une mise en forme et insérer un commentaire

Il s’agit du script qui s’exécute sur chaque classeur individuel. Dans Excel, utilisez Automatiser>le nouveau script pour coller le code et enregistrer le script. Enregistrez-le en tant que Script de révision et essayez l’exemple vous-même !

function main(workbook: ExcelScript.Workbook) {
  // Get the table named "Table1" in the workbook.
  const table1 = workbook.getTable("Table1");

  // If the table is empty, end the script.
  const rowCount = table1.getRowCount();
  if (rowCount === 0) {
    return;
  }

  // Force the workbook to be completely recalculated.
  workbook.getApplication().calculate(ExcelScript.CalculationType.full);

  // Get the "Amount Due" column from the table.
  const amountDueColumn = table1.getColumnByName('Amount Due');
  const amountDueValues = amountDueColumn.getRangeBetweenHeaderAndTotal().getValues();

  // Find the highest amount that's due.
  let highestValue = amountDueValues[0][0];
  let row = 0;
  for (let i = 1; i < amountDueValues.length; i++) {
    if (amountDueValues[i][0] > highestValue) {
      highestValue = amountDueValues[i][0];
      row = i;
    }
  }

  let highestAmountDue = table1.getColumn("Amount due").getRangeBetweenHeaderAndTotal().getRow(row);

  // Set the fill color to yellow for the cell with the highest value in the "Amount Due" column.
  highestAmountDue.getFormat().getFill().setColor("FFFF00");

  // Insert an @mention comment in the cell.
  workbook.addComment(highestAmountDue, {
    mentions: [{
      email: "AdeleV@M365x904181.OnMicrosoft.com",
      id: 0,
      name: "Adele Vance"
    }],
    richContent: "<at id=\"0\">Adele Vance</at> Please review this amount"
  }, ExcelScript.ContentType.mention);
}

Flux Power Automate : exécutez le script sur chaque classeur du dossier

Ce flux exécute le script sur chaque classeur du dossier « Sales ».

  1. Créez un flux cloud instantané.

  2. Choisissez Déclencher manuellement un flux , puis sélectionnez Créer.

  3. Dans le générateur de flux, sélectionnez le + bouton et Ajouter une action. Utilisez l’action Lister les fichiers dans le dossier du connecteur OneDrive Entreprise. Utilisez les valeurs suivantes pour l’action.

    • Dossier : /Sales (sélectionné par le sélecteur de fichiers)

    Connecteur OneDrive Entreprise terminé dans Power Automate.

  4. Vérifiez que seuls les classeurs sont sélectionnés. Ajoutez une nouvelle action de contrôle Condition . Utilisez les valeurs suivantes pour la condition.

    • Choisissez une valeur : Nom (contenu dynamique à partir de Lister les fichiers dans le dossier)
    • se termine par : (dans la liste déroulante)
    • Choisissez une valeur : .xlsx

    Bloc de condition Power Automate qui applique les actions suivantes à chaque fichier.

  5. Sous la branche True , ajoutez une nouvelle action. Sélectionnez l’action Exécuter le script du connecteur Excel Online (Business). Utilisez les valeurs suivantes pour l’action.

    • Emplacement : OneDrive Entreprise
    • Bibliothèque de documents : OneDrive
    • Fichier : Id (contenu dynamique de la liste des fichiers dans le dossier)
    • Script : Passer en revue le script

    Connecteur Excel Online (Business) terminé dans Power Automate.

  6. Enregistrez le flux. Le concepteur de flux doit ressembler à l’image suivante.

    Diagramme du flux terminé qui montre deux étapes avant une condition et une étape sous le chemin d’accès réel de la condition.

  7. Essayez ! Utilisez le bouton Test de la page de l’éditeur de flux ou exécutez le flux via votre onglet Mes flux . Veillez à autoriser l’accès lorsque vous y êtes invité.

Vidéo de formation : Exécuter un script sur tous les fichiers Excel d’un dossier

Regardez Sudhi Ramamurthy parcourir cet exemple sur YouTube.