使用应用脚本格式化文本(Google文档) [英] Formatting text with apps script (Google Docs)

查看:87
本文介绍了使用应用脚本格式化文本(Google文档)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我制作了一些应用程序脚本来格式化Google文档中的文本格式,但是:

I have made some apps script to format text in a Google Doc, but:

  1. 我不知道在找不到文本时如何停止脚本中断.
  2. 该脚本看起来效率不高.

  1. I can't figure out how to stop the script breaking when the text isn't found.
  2. The script doesn't look very efficient.

// Set the whole body to Roboto 10
var FontStyle = {};
FontStyle[DocumentApp.Attribute.FONT_FAMILY] = 'Roboto';
FontStyle[DocumentApp.Attribute.FONT_SIZE] = 10;

body.setAttributes(FontStyle);

// Set some elements to bold
var BoldStyle = {};
BoldStyle[DocumentApp.Attribute.BOLD] = true;

var pattern1 = "Private & Confidential";
var found1 = body.findText(pattern1);
found1.getElement().setAttributes(BoldStyle)

var pattern2 = "Your Reference:";
var found2 = body.findText(pattern2);
found2.getElement().setAttributes(BoldStyle)

var pattern3 = "Our Reference:";
var found3 = body.findText(pattern3);
found3.getElement().setAttributes(BoldStyle)

// Set some elements to right align
var RightStyle = {};
RightStyle[DocumentApp.Attribute.HORIZONTAL_ALIGNMENT ] = 
DocumentApp.HorizontalAlignment.RIGHT;

var pattern4 = "\\[Date\\]";
var found4 = body.findText(pattern4);
found4.getElement().getParent().setAttributes(RightStyle);

任何人都可以帮忙吗?

P

推荐答案

除了一个错误,正确的代码如下.的错误是我仍然无法获得正确的日期.有什么想法吗?

Except for one bug, the correct code is below. The bug is that I still can't get the date to right align. Any ideas?

// Set the whole body to Roboto 10
  var FontStyle = {};
  FontStyle[DocumentApp.Attribute.FONT_FAMILY] = 'Roboto';
  FontStyle[DocumentApp.Attribute.FONT_SIZE] = 10;

  body.setAttributes(FontStyle);

  // Set some elements to bold
  var target1 = "Private & Confidential"
  var searchResult1 = body.findText(target1);
  if (searchResult1 !== null) {
    var thisElement1 = searchResult1.getElement();
    var thisElement1Text = thisElement1.asText();
    thisElement1Text.setBold(searchResult1.getStartOffset(), searchResult1.getEndOffsetInclusive(), true);
  }

  var target2 = "Your Reference:"
  var searchResult2 = body.findText(target2);
  if (searchResult2 !== null) {
    var thisElement2 = searchResult2.getElement();
    var thisElement2Text = thisElement2.asText();
    thisElement2Text.setBold(searchResult2.getStartOffset(), searchResult2.getEndOffsetInclusive(), true);
  }

  var target3 = "Our Reference:"
  var searchResult3 = body.findText(target3);
  if (searchResult3 !== null) {
    var thisElement3 = searchResult3.getElement();
    var thisElement3Text = thisElement3.asText();
    thisElement3Text.setBold(searchResult3.getStartOffset(), searchResult3.getEndOffsetInclusive(), true);
  }

  // Right align date
  var searchType = DocumentApp.ElementType.PARAGRAPH
  var target4 = "\\[Date\\]";
  var searchResult4 = body.findText(target4);

  while (searchResult4 = body.findElement(searchType, searchResult4)) {
   var par = searchResult4.getElement().asParagraph();
   if (searchResult4 != null) {
     par.setAlignment(DocumentApp.HorizontalAlignment.RIGHT);
  }
  }
  //  Update date
  var date = Utilities.formatDate(new Date(), "GMT", "d MMMMM yyyy");
  body.replaceText("\\[Date\\]", date);
 }

这篇关于使用应用脚本格式化文本(Google文档)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆