Importe hiperlinks para sua planilha com a macro ONLYOFFICE
Os hiperlinks podem melhorar muito a estética e a funcionalidade de suas planilhas, facilitando o acesso a recursos cruciais em seus documentos. Nesta postagem do blog, orientaremos você passo a passo na criação de uma macro que importa hiperlinks extraindo dados de links de outra planilha.
Construindo a macro
Primeiro inicializamos duas variáveis oWorksheetA e oWorksheetB, representando planilhas denominadas Sheet1 e Sheet2 no documento. Também criamos dois títulos e links de arrays vazios que serão usados para armazenar dados da Sheet1:
var oWorksheetA = Api.GetSheet("Sheet1");
var oWorksheetB = Api.GetSheet("Sheet2");
var rowIndex = 0;
var titles = [];
var links = [];
Um loop while itera pelas linhas na Sheet1 (até 10 linhas neste caso). Dentro do loop, ele recupera os valores das células nas colunas A e B, assumindo que a coluna A contém títulos e a coluna B contém links. Esses valores são então armazenados nas matrizes de títulos e links para uso posterior:
while (rowIndex < 10) {
var titleCell = oWorksheetA.GetRangeByNumber(rowIndex, 0); // Assuming title is in column A
var linkCell = oWorksheetA.GetRangeByNumber(rowIndex, 1); // Assuming link is in column B
var title = titleCell.GetValue();
var link = linkCell.GetValue();
titles.push(title); // Store titles in an array
links.push(link); // Store links in an array
rowIndex++; // Increment the row index for the next iteration
}
Em seguida, direcionamos o intervalo selecionado na Sheet2 (oWorksheetB) e iteramos em cada célula do intervalo selecionado usando o método ForEach. Para cada célula, ele recupera o valor da célula e verifica se esse valor corresponde a algum dos títulos armazenados na matriz de títulos:
var rangeB = Api.GetSelection();
rangeB.ForEach(function (cell) {
var cellValue = cell.GetValue();
// Check if the cell value matches any of the titles from the array
var index = titles.indexOf(cellValue);
});
Se uma correspondência for encontrada, ele recupera o título e o link correspondentes das matrizes de títulos e links. Ele também obtém o endereço da célula atual na Sheet2 usando cell.GetAddress. Por fim, ele define um hiperlink na Sheet2 usando o título e o link recuperados:
if (index !== -1) {
var title = titles[index];
var link = links[index];
var address = cell.GetAddress(true, true, "xlA1", false);
// Set the hyperlink in oWorksheetB
oWorksheetB.SetHyperlink(address, link, "Api ONLYOFFICE", title);
}
A macro inteira é a seguinte:
var oWorksheetA = Api.GetSheet("Sheet1");
var oWorksheetB = Api.GetSheet("Sheet2");
var rowIndex = 0;
var titles = [];
var links = [];
while (rowIndex < 10) {
var titleCell = oWorksheetA.GetRangeByNumber(rowIndex, 0); // Assuming title is in column A
var linkCell = oWorksheetA.GetRangeByNumber(rowIndex, 1); // Assuming link is in column B
var title = titleCell.GetValue();
var link = linkCell.GetValue();
titles.push(title); // Store titles in an array
links.push(link); // Store links in an array
rowIndex++; // Increment the row index for the next iteration
}
var rangeB = Api.GetSelection();
rangeB.ForEach(function (cell) {
var cellValue = cell.GetValue();
// Check if the cell value matches any of the titles from the array
var index = titles.indexOf(cellValue);
if (index !== -1) {
var title = titles[index];
var link = links[index];
var address = cell.GetAddress(true, true, "xlA1", false);
// Set the hyperlink in oWorksheetB
oWorksheetB.SetHyperlink(address, link, "Your Description", title);
}
})
Vamos executar nossa macro e ver como funciona!
Esperamos sinceramente que esta macro seja um recurso valioso em seu kit de ferramentas. Ao adotar as macros do ONLYOFFICE, você se capacita com produtividade aprimorada e soluções automatizadas e eficientes.
Ao mergulhar na criação de macros, não perca as oportunidades apresentadas pela API ONLYOFFICE. Se você tiver dúvidas ou ideias inovadoras, convidamos você a compartilhar conosco, seja por meio de comentários ou comunicação direta. Acolhemos com entusiasmo a sua contribuição e esperamos a possibilidade de colaborar com você. Boa sorte em seus empreendimentos exploratórios!
Crie sua conta gratuita no ONLYOFFICE
Visualize, edite e colabore em documentos, planilhas, slides, formulários e arquivos PDF online.