Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo fornece um exemplo de código que processa matrizes dinâmicas e transposição de intervalos com a API JavaScript do Excel. Para obter a lista completa de propriedades e métodos suportados pelo Range objeto, consulte Excel.Range class (Classe Excel.Range).
Matrizes dinâmicas
Algumas fórmulas do Excel devolvem Matrizes dinâmicas. Estes preenchem os valores de múltiplas células fora da célula original da fórmula. Este valor excedido é referido como um "transposição". O suplemento pode encontrar o intervalo utilizado para um derrame com o método Range.getSpillingToRange . Existe também uma versão *OrNullObject, Range.getSpillingToRangeOrNullObject.
O exemplo seguinte mostra uma fórmula básica que copia o conteúdo de um intervalo para uma célula, que transborda para células vizinhas. Em seguida, o suplemento regista o intervalo que contém o derrame.
await Excel.run(async (context) => {
let sheet = context.workbook.worksheets.getItem("Sample");
// Set G4 to a formula that returns a dynamic array.
let targetCell = sheet.getRange("G4");
targetCell.formulas = [["=A4:D4"]];
// Get the address of the cells that the dynamic array spilled into.
let spillRange = targetCell.getSpillingToRange();
spillRange.load("address");
// Sync and log the spilled-to range.
await context.sync();
// This will log the range as "G4:J4".
console.log(`Copying the table headers spilled into ${spillRange.address}.`);
});
Transposição de intervalos
Localize a célula responsável por transpor para uma determinada célula com o método Range.getSpillParent . Tenha em atenção que getSpillParent só funciona quando o objeto de intervalo é uma única célula. Chamar getSpillParent num intervalo com múltiplas células resultará num erro (ou será devolvido um intervalo nulo para Range.getSpillParentOrNullObject).