0

背景: 公司正在更新样式,我制作了一个插件,应该将现有文档更新为当前样式配置文件。

解决方案: Google App 脚本 [插件] 从模板文档中读取正确的格式并更新活动文档以对其进行镜像。

片段:这不能正常工作

var deltaAttri = [
    "BACKGROUND_COLOR",
    "FOREGROUND_COLOR",
    "FONT_FAMILY",
    "FONT_SIZE",
    "SPACING_AFTER",
    "SPACING_BEFORE"
];
var baseAttr = heading1.getAttributes();
var templateAttri = templateHeading1.getAttributes();
for(var d = 0;d<deltaAttri.length;d++){
  baseAttr[deltaAttri[d]] = templateAttri [deltaAttri[d]];
}
heading1.setAttributes(baseAttr);

问题: 我获取的几乎每个属性(heading1.getAttributes())都是空的。

Heading1={
  FONT_SIZE=null, 
  SPACING_BEFORE=null, 
  SPACING_AFTER=null, 
  FOREGROUND_COLOR=#073763, 
  FONT_FAMILY=null, 
  BACKGROUND_COLOR=null
}

我做错了还是超出了使用 App Script 的范围?

我最初认为 null ment 设置了默认值。如果是这样,我可以访问/更改默认值吗?

4

1 回答 1

0

这是我最近用信封打印机做的事情。这是一种相当标准的加载对象的方式。

function setupDocument() 
{
  var doc=DocumentApp.getActiveDocument();
  var envelope10={};
  envelope10[DocumentApp.Attribute.PAGE_HEIGHT]=296;
  envelope10[DocumentApp.Attribute.PAGE_WIDTH]=684;
  envelope10[DocumentApp.Attribute.FONT_FAMILY] = 'Calibri';
  envelope10[DocumentApp.Attribute.FONT_SIZE] = 14;
  envelope10[DocumentApp.Attribute.BOLD] = true;
  envelope10[DocumentApp.Attribute.LINE_SPACING]=1;
  doc.getBody().clear().setAttributes(envelope10);
}
于 2017-09-04T16:12:41.390 回答