Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

357
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!