Partilhar via


Tutorial: Criar e formatar uma tabela do Excel

Este tutorial ensina-lhe as noções básicas da 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

Precisará de acesso aos Scripts do Office para este tutorial. Reveja o Suporte da plataforma se o separador Automatizar não for apresentado.

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, irá precisar de alguns dados e de um pequeno script inicial.

  1. Crie um novo livro 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 "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 estes dados de vendas de frutas numa tabela. Irá continuar a modificar 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. Utilize essa tabela para ordenar os dados. Ordene os dados por ordem ascendente com base nos valores na coluna "Fruta". 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. Neste caso, só tem um critério de ordenação, pelo que utiliza apenas um SortField. O key: 0 valor define a coluna com os valores que definem a ordenação como "0" (que é a primeira coluna na tabela, coluna A neste caso). O ascending: true valor ordena os dados por ordem ascendente (em vez de ordem descendente).

  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. Isto acontece porque não pode criar uma tabela sobre outra tabela. No entanto, pode executar o script numa folha de cálculo ou livro 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 os dados do livro do Excel. Ele ensina como ler dados de uma pasta de trabalho com um script do Office.