Partilhar via


Tutorial: Criar e formatar uma tabela do Excel

Este tutorial ensina os conceitos básicos de gravação, edição e escrita de um Script do Office para Excel. Você gravará um script que aplicará uma determinada formatação a uma planilha de registro de vendas. Depois, você editará o script gravado para aplicar outras formatações, criar e classificar uma tabela. Este padrão de registro e edição é uma importante ferramenta para ver como suas ações no Excel são parecidas com um código.

Pré-requisitos

Você precisará de acesso aos Scripts do Office para este tutorial. Examine o suporte da Plataforma se a guia Automatizar não aparecer.

Importante

Este tutorial é destinado a pessoas com conhecimento básico ou de nível intermediário de JavaScript ou TypeScript. Se você é novo no JavaScript, recomendamos começar com o tutorial da Mozilla sobre JavaScript. Visite o ambiente do Editor de Código do Scripts do Office para saber mais sobre o ambiente de script.

Adicione dados e grave um script básico

Primeiro, você precisará de alguns dados e um pequeno script inicial.

  1. Crie uma nova pasta de trabalho do Excel.

  2. Copie os seguintes dados de vendas de frutas e cole-os na planilha, começando na célula A1.

    Fruta 2018 2019
    Laranjas 1000 1200
    Limões 800 900
    Limões-galego 600 500
    Toranjas 900 700
  3. Abra a guia Automação. Se você não vir a guia Automação, verifique o excedente da faixa de opções selecionando a seta suspensa. Se ainda não estiver lá, siga o conselho do artigo Solução de Problemas de Scripts do Office .

  4. Selecione o botão Gravar Ações.

  5. Selecione as células A2:C2 (a linha "Laranjas") e defina a cor de preenchimento como laranja.

  6. Interrompa a gravação selecionando o botão Parar.

    Sua planilha deve ficar assim (não se preocupe se a cor for diferente):

    Uma planilha mostrando a linha de dados das vendas de frutas com a linha contendo

Edite um script existente

O script anterior coloriu a linha "Laranjas" para ficar laranja. Adicione uma linha amarela para os "Limões".

  1. No painel, agora aberto, Detalhes, selecione o botão Editar.

  2. Você deve ver algo semelhante a este código:

    function main(workbook: ExcelScript.Workbook) {
      // Set fill color to FFC000 for range Sheet1!A2:C2
      let selectedSheet = workbook.getActiveWorksheet();
      selectedSheet.getRange("A2:C2").getFormat().getFill().setColor("FFC000");
    }
    

    Este código recebe a planilha atual da pasta de trabalho. Depois, defina a cor de preenchimento do intervalo A2:C2.

    Os intervalos são parte fundamental dos Scripts do Office no Excel. Um intervalo é um bloco retangular e contíguo de células que contém valores, fórmula e formatação. Eles são a estrutura básica das células através da qual você executará a maioria das tarefas de script.

  3. Adicione a seguinte linha no final do script (entre onde color está definido e o encerramento }):

    selectedSheet.getRange("A3:C3").getFormat().getFill().setColor("yellow");
    
  4. Teste o script selecionando Executar. Sua pasta de trabalho já deve ter esta aparência:

    Uma planilha mostrando a linha de dados das vendas de frutas com a linha

Criar uma tabela

Em seguida, converta esses dados de vendas de frutas em uma tabela. Você continuará modificando o primeiro script para todo o tutorial.

  1. Adicione a seguinte linha no final do script (antes do encerramento }):

    let table = selectedSheet.addTable("A1:C5", true);
    
  2. Essa chamada retorna um Table objeto. Use essa tabela para classificar os dados. Classifique os dados em ordem crescente com base nos valores na coluna "Fruit". Adicione a seguinte linha assim que criar a tabela:

    table.getSort().apply([{ key: 0, ascending: true }]);
    

    Seu script deve ter esta aparência:

    function main(workbook: ExcelScript.Workbook) {
        // Set fill color to FFC000 for range Sheet1!A2:C2
        let selectedSheet = workbook.getActiveWorksheet();
        selectedSheet.getRange("A2:C2").getFormat().getFill().setColor("FFC000");
        selectedSheet.getRange("A3:C3").getFormat().getFill().setColor("yellow");
        let table = selectedSheet.addTable("A1:C5", true);
        table.getSort().apply([{ key: 0, ascending: true }]);
    }
    

    As tabelas possuem um objetoTableSort, acessado por meio do método Table.getSort. Você pode aplicar critérios de classificação a esse objeto. O apply método utiliza uma matriz de SortField objetos. Nesse caso, você só tem um critério de classificação, portanto, você só usa um SortField. key: 0 define a coluna com os valores que determinam a classificação como "0" (que nesse caso, é a primeira coluna na tabela A ). ascending: true classifica os dados em ordem crescente (em vez de ordem decrescente).

  3. Execute o script. Você deve visualizar uma tabela como esta:

    Uma planilha mostrando a tabela ordenada de vendas de frutas.

    Observação

    Se você executar novamente o script, receberá um erro. Isso ocorre porque você não pode criar uma tabela em cima de outra tabela. No entanto, você pode executar o script em uma planilha ou pasta de trabalho diferente.

Reexecute o script

  1. Crie uma nova planilha na pasta de trabalho atual.
  2. Copie os dados das frutas do início do tutorial e cole-os na nova planilha, começando na célula A1.
  3. Execute o script.

Próximas etapas

Tutorial completo: limpar e normalizar dados da pasta de trabalho do Excel. Ele ensina como ler dados de uma pasta de trabalho com um script do Office.