0
我正在尝试制作Google Apps脚本,该脚本将突出显示Google文档中的多项选择答案。下面是一个例子问题:Google Apps脚本突出显示多项选择
Question....blah blah blah.
a. Answer 1
b. Answer 2
c. Answer 3
d. Answer 4
e. Answer 5
这里就是我这么远的脚本:
function highlight() {
var doc = DocumentApp.openByUrl('https://docs.google.com/document/d/1nP6ra0zIMI3OB-zsTMbFybO2e7ajoYgQi8doDcurGew/edit?usp=sharing');
var style = {};
style[DocumentApp.Attribute.BACKGROUND_COLOR] = '#E3E65B';
var text = doc.editAsText();
var result = text.findText(/^(a|b|c|d|e)\..*/gm).getElement();
for (var i = 0; i < result.length; i++){
result[i].setAttributes(style);
}
}
但它只是给我“不能调用方法‘’空的” getElement。
好的,这是有道理的。但我想要解决的问题是我认为我使用'var result = text.findText(/ ^(a | b | c | d | e)\ .. */gm ).getElement();'行。我不认为我正确理解正则表达式部分或'.findText'命令 – derekantrican
回答更新。你想匹配什么? – Manolo
好吧,我希望它匹配所有答案('a。Answer 1','b。Answer 2'等),所以我编辑正则表达式为'/ ^(a | b | c | d | e)\ 。\ s。*/gm',这样在句号和回答文本之间的空格也是匹配的(不知道'\ s'是否需要,尽管用'。*')。此外,我编辑代码来匹配你的建议(用if语句),它仍然给我同样的错误(它的错误行是'var result = text.findText(/ ^(a | b | c | d | e)\ .. */gm).getElement();')。 – derekantrican