我有一个附加到Google文档的侧边栏。我正在使用侧边栏来详细了解Google文档的结构。我一直在使用按钮单击来帮助我在文档本身上找到Body Child Text。在工作时,这只是将Body Child Text移动到Document中的视图中,并以黄色突出显示一秒钟。
这是html和javascript:
<input id="txtfind0" type="button" value="Click to Find Text" onClick="hlBodyChildText(0)" />
function hlBodyChildText(idx)
{
google.script.run.withSuccessHandler(llBodyChildText).highLightBodyChildText(idx);
}
function llBodyChildText(idx)
{
google.script.run.lowLightBodyChildText(idx);
}
这是Google Apps脚本:
function highLightBodyChildText(idx)
{
var doc=DocumentApp.getActiveDocument();
var child=doc.getBody().getChild(idx);
var position=doc.newPosition(child, 0);
doc.setCursor(position);
child.asText().editAsText().setBackgroundColor('#ffff00');
return idx;
}
function lowLightBodyChildText(idx)
{
Utilities.sleep(1000);
DocumentApp.getActiveDocument().getBody().getChild(idx).asText().editAsText().setBackgroundColor('#ffffff');
}
这是令人满意的,直到我决定将它全部放入库中,以便我可以轻松地将它附加到任何文档。但是,似乎google.script.run调用要求函数必须包含在文档的脚本编辑器中。他们似乎无法在图书馆中找到这些功能。
我试过这种方法:
function hlBodyChildText(idx)
{
google.script.run.withSuccessHandler(llBodyChildText).myDocUtilities.highLightBodyChildText(idx);
}
但这只会导致错误'找不到未定义的highLightBodyChildText(idx)。
所以当我决定将这些函数直接从我的库中复制到Code.gs文件中时,它立即起作用。
所以问题是:是否有办法将这些函数公开给google.script.run调用,而无需将所有这些文件复制到每个文档中。