Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

270
Visualizações
La secuencia de comandos no resalta todas las palabras repetidas, ¿cómo puedo solucionarlo?

Tengo el siguiente script ejecutándose donde necesita buscar en todo el documento de Google las palabras específicas que he elegido y resaltarlas dentro del documento. Actualmente está haciendo esto, sin embargo, para algunas palabras repetidas no las resalta. ¿Cómo podría modificar el guión para asegurarme de que todas las palabras estén resaltadas?

 function highlightSentences() { const doc = DocumentApp.getActiveDocument(); const body = doc.getBody(); sentences.forEach(sentence => { const rangeElement = body.findText(sentence); if (rangeElement) { const startOffset = rangeElement.getStartOffset(); const endOffset = rangeElement.getEndOffsetInclusive(); const element = rangeElement.getElement(); if (element.editAsText) { const textElement = element.editAsText(); textElement.setBackgroundColor(startOffset, endOffset, "#fcfc03"); } } }); }```
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Usando este script de muestra y la expresión regular, ¿qué tal la siguiente modificación?

Guión modificado:

 function highlightSentences() { var sentences = ["value1", "value2",,,]; // Please set your search texts. const doc = DocumentApp.getActiveDocument(); const body = doc.getBody(); const searchValue = sentences.join("|"); var rangeElement = body.findText(searchValue); while (rangeElement) { const startOffset = rangeElement.getStartOffset(); const endOffset = rangeElement.getEndOffsetInclusive(); const element = rangeElement.getElement(); const textElement = element.editAsText(); textElement.setBackgroundColor(startOffset, endOffset, "#fcfc03"); rangeElement = body.findText(searchValue, rangeElement); } }

Referencia:

  • findText(patrónbúsqueda, desde)
about 4 years ago · Juan Pablo Isaza Relatório

0

Desafortunadamente, el método findText solo devuelve un elemento, como se indica en la documentación que se puede leer aquí . Sin embargo, todas las oraciones aún se pueden encontrar fácilmente usando un ciclo while, donde seguimos buscando la oración deseada hasta que la función findText no encuentre más. Podrías adaptar tu código para algo como:

 function highlightSentences() { const doc = DocumentApp.getActiveDocument(); const body = doc.getBody(); var sentences = ["search", "these"]; //An array of things to highlight for (var sentence of sentences){ var rangeElement = body.findText(sentence); while (rangeElement != null) { var foundText = rangeElement.getElement().asText(); var startOffset = rangeElement.getStartOffset(); var endOffset = rangeElement.getEndOffsetInclusive(); foundText.setBackgroundColor(startOffset, endOffset, "#fcfc03"); rangeElement = body.findText(sentence, rangeElement); } } }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda