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.
Crie um novo livro do Excel.
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 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 .
Selecione o botão Gravar Ações.
Selecione as células A2:C2 (a linha "Laranjas") e defina a cor de preenchimento como laranja.
Interrompa a gravação selecionando o botão Parar.
Sua planilha deve ficar assim (não se preocupe se a cor for diferente):
Edite um script existente
O script anterior coloriu a linha "Laranjas" para ficar laranja. Adicione uma linha amarela para "Limões".
No painel, agora aberto, Detalhes, selecione o botão Editar.
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.
Adicione a seguinte linha no final do script (entre onde
color
está definido e o encerramento}
):selectedSheet.getRange("A3:C3").getFormat().getFill().setColor("yellow");
Teste o script selecionando Executar. Sua pasta de trabalho já deve ter esta aparência:
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.
Adicione a seguinte linha no final do script (antes do encerramento
}
):let table = selectedSheet.addTable("A1:C5", true);
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 objeto
TableSort
, acessado por meio do métodoTable.getSort
. Você pode aplicar critérios de classificação a esse objeto. Oapply
método utiliza uma matriz deSortField
objetos. Neste caso, só tem um critério de ordenação, pelo que utiliza apenas umSortField
. Okey: 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). Oascending: true
valor ordena os dados por ordem ascendente (em vez de ordem descendente).Execute o script. Você deve visualizar uma tabela como esta:
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
- Crie uma nova planilha na pasta de trabalho atual.
- Copie os dados das frutas do início do tutorial e cole-os na nova planilha, começando na célula A1.
- 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.