【发布时间】:2014-03-04 18:58:19
【问题描述】:
请查看我的电子表格。
我有一个菜单项 Create/Job Scope,它从电子表格中提取数据并在谷歌驱动器的“我的驱动器”位置创建一个新文档。我遇到的问题是它不包括我在电子表格中的样式和格式。例如,我尝试了许多将脚本中的变量设置为“粗体”的方法,但似乎无法让它工作。我希望有一个对象可以添加到变量中来设置它的样式。
例如,在我的脚本中,我有一个名为“desc”的变量
var descr = values[n][3] ;
我只想创建一个新变量,例如
var descr = values[n][3] ;
var desc_style = descr.setStyle("bold") ;
这是电子表格中的脚本,但我认为最好只更新电子表格中的脚本。
function jobScope() {
var ss = SpreadsheetApp.getActiveSheet();
var values = ss.getDataRange().getValues();
var docTemplate = "19ANrZluvbavWU4Ttgh1z9_DVJgEQ1hrGohd4lQAg7vI";
var job_name = ss.getRange("D4").getValue();
var docName = job_name+' Job Scope ';
var x = 1 ;
while(values[x][0] ^= "") {
++x ;
}
var textToDoc = "" ;
for(n=1;n<x;++n){
var cell = values[n][4] ;
if (cell ^ "0") {
var line_item = values[n][1];
var descr = values[n][3] ;
textToDoc = textToDoc + line_item + " " + descr + "\n\n" ;
}
}
var copyId = DocsList.getFileById(docTemplate)
.makeCopy(docName)
.getId();
var copyDoc = DocumentApp.openById(copyId);
var copyBody = copyDoc.getActiveSection();
copyBody.replaceText('keyScope', textToDoc);
copyBody.replaceText('keyJobName', job_name);
copyDoc.saveAndClose();
}
【问题讨论】:
-
您还需要授予文档模板 (19ANrZluvbavWU4Ttgh1z9_DVJgEQ1hrGohd4lQAg7vI) 的权限。我们需要能够访问该文档以使用您的脚本(由于它未设置为公开,因此出现权限错误)。
-
我公开了文档模板。抱歉耽搁了。我希望收到电子邮件通知,但我想这没有发生。我希望今天有人可以帮助我。
-
我想知道是否需要使用 html 脚本,以便我可以使用 html 标签来设置文档样式。所以当我打开脚本编辑器时,我应该创建一个新的“html”文件(文件/新建/HTML 文件)。问题是我不知道怎么走这条路……