Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

362
Vistas
Cómo obtener TextStyles/Attributes (fontColor, fontFamily, etc.) de una celda de hoja de Google en AppScript, luego configurarlo en una tabla

Tengo un Script en Googlesheets que se supone que usa la hoja como una plantilla modificable (los colores y la fuente deben ser modificables), lo copia y lo pega como una Tabla en GoogleSlides. Copia cada celda una por una y luego la coloca en la celda de la tabla de diapositivas. Mi problema es que ahora solo puedo hacer que copie el texto y el color de fondo de cada celda, no fontFamily ni fontColor.

Esta es la parte relevante del código:

 var slidesPage = SlidesApp.openById(slideID).getSlides()[slideBegin]; var rows = values.length; var columns = values[0].length; var table = slidesPage.insertTable(rows, columns); for (var r = 0; r < rows; r++) { for (var c = 0; c < columns; c++) { var cell = table.getCell(r, c); cell.getText().setText(values[r][c]); cell.getFill().setSolidFill(backgrounds[r][c]); var alignment; switch(horizontalAlignments[r][c]) { case "general-left": alignment = SlidesApp.ParagraphAlignment.START; break; case "general-right": alignment = SlidesApp.ParagraphAlignment.END; break; case "center": alignment = SlidesApp.ParagraphAlignment.CENTER; break; } //cell.getText().getParagraphStyle().setParagraphAlignment(alignment); } }

Lo he intentado con .getAttributes o cosas así, pero no puedo encontrar cómo se supone que debe funcionar. Sé que probablemente tenga que establecer una "var" con los atributos y luego agregar algo como cell.getAttributes().setAttributes() pero no estoy seguro, estoy completamente atascado.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

No sé nada sobre diapositivas, pero en la hoja de cálculo lo que quieres es getRichTextValue() y Class TextStyle

Puede obtener los atributos de un texto en una celda de esta manera:

 function myFunction() { var ss = SpreadsheetApp.getActiveSheet(); var text = ss.getRange('a1').getRichTextValue() // .getRuns()[0]; var style = text.getTextStyle(); var size = style.getFontSize() var family = style.getFontFamily(); var color = style.getForegroundColor(); var bold = style.isBold(); var italic = style.isItalic(); // etc console.log(size, family, bold, italic, color); }

Actualizar

https://developers.google.com/apps-script/reference/slides/text-range

Sorprendentemente, no veo ningún método set... en el objeto TextRange en Diapositivas, excepto setText(text) ! Existen los métodos get... pero son bastante inútiles si no puede aplicar estos atributos.

Parece que esta parte de la API de la aplicación Slides aún no está lista.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda