Partilhar via


Executar um script em todos os arquivos do Excel em uma pasta

Este projeto executa um conjunto de tarefas de automação em todos os arquivos situados em uma pasta no OneDrive for Business. Ele também pode ser usado em uma pasta do SharePoint. Ele executa cálculos nos arquivos do Excel, adiciona formatação e insere um comentário que @mentions um colega.

Exemplo de arquivos do Excel

Baixe highlight-alert-excel-files.zip para todas as pastas de trabalho que você precisará para este exemplo. Extraia esses arquivos para uma pasta intitulada Vendas. Adicione o script a seguir à coleção de scripts para experimentar o exemplo por conta própria!

Código de exemplo: adicionar formatação e inserir comentário

Este é o script que é executado em cada pasta de trabalho individual. No Excel, use Automatizar>Novo Script para colar o código e salvar o script. Salve-o como Revisar script e experimente o exemplo por conta própria!

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);
}

Fluxo do Power Automate: execute o script em cada pasta de trabalho na pasta

Esse fluxo executa o script em cada pasta de trabalho na pasta "Vendas".

  1. Crie um novo fluxo de nuvem instantânea.

  2. Escolha Disparar manualmente um fluxo e selecione Criar.

  3. No construtor de fluxos, selecione o + botão e Adicione uma ação. Use os arquivos list do conector OneDrive for Business em ação de pasta. Use os valores a seguir para a ação.

    • Pasta: /Sales (selecionado pelo seletor de arquivos)

    O conector OneDrive for Business concluído no Power Automate.

  4. Verifique se somente as pastas de trabalho estão selecionadas. Adicione uma nova ação de controle de condição . Use os valores a seguir para a condição.

    • Escolha um valor: Nome (conteúdo dinâmico de Listar arquivos na pasta)
    • termina com: (da lista suspensa)
    • Escolha um valor: .xlsx

    O bloco de condição do Power Automate que aplica ações subsequentes a cada arquivo.

  5. No branch True , adicione uma nova ação. Selecione a ação executar script do conector do Excel Online (Business). Use os valores a seguir para a ação.

    • Localização: OneDrive for Business
    • Biblioteca de Documentos: OneDrive
    • Arquivo: Id (conteúdo dinâmico de Listar arquivos na pasta)
    • Script: Revisar script

    O conector concluído do Excel Online (Business) no Power Automate.

  6. Salve o fluxo. O designer de fluxo deve se parecer com a imagem a seguir.

    Um diagrama do fluxo concluído que mostra duas etapas antes de uma condição e uma etapa sob o verdadeiro caminho da condição.

  7. Experimente! Use o botão Testar na página do editor de fluxo ou execute o fluxo por meio da guia Meus fluxos . Certifique-se de permitir o acesso quando solicitado.

Vídeo de treinamento: executar um script em todos os arquivos do Excel em uma pasta

Assista Sudhi Ramamurthy percorrer este exemplo no YouTube.