我在 Google 文档中有一个当前脚本,它在文档的特定部分下方添加了一个带有可折叠列表的标题(在无页设置中)。
我正在寻找能够从文档中触发脚本的用户。我已经能够在 Google Spreadsheets 中使用链接和绘图(并使用自定义菜单,但在本例中不太理想)实现此目的,但无法在 Google Docs 中实现相同的功能。
理想情况下,用户单击链接,这将触发添加以下内容的脚本: 这是我到目前为止的脚本:
function insertText() {
var header = "Enter_Item_Title_Here"
var bulletOneHeader = "Agenda Item Owner(s): ___________"
var bulletTwoHeader = "Discussant: ___________"
var bulletThreeHeader = "Discussion Date: ___________"
var bulletFourHeader = "External follow up: ___________"
var bulletFiveHeader = "Notes: ___________"
var bulletSixHeader = "Action Items: ___________"
var cursor = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody();
var pr = cursor.findText("New Items:").getElement().getParent();
var i = cursor.getChildIndex(pr) + 1;
cursor.insertParagraph(i, header).setHeading(DocumentApp.ParagraphHeading.HEADING3);
cursor.insertListItem(i + 1, bulletOneHeader).setGlyphType(DocumentApp.GlyphType.BULLET).setAttributes({ [DocumentApp.Attribute.BOLD]: true });
cursor.insertListItem(i + 2, bulletTwoHeader).setGlyphType(DocumentApp.GlyphType.BULLET).setAttributes({ [DocumentApp.Attribute.BOLD]: true });
cursor.insertListItem(i + 3, bulletThreeHeader).setGlyphType(DocumentApp.GlyphType.BULLET).setAttributes({ [DocumentApp.Attribute.BOLD]: true });
cursor.insertListItem(i + 4, bulletFourHeader).setGlyphType(DocumentApp.GlyphType.BULLET).setAttributes({ [DocumentApp.Attribute.BOLD]: true });
cursor.insertListItem(i + 5, bulletFiveHeader).setGlyphType(DocumentApp.GlyphType.BULLET).setAttributes({ [DocumentApp.Attribute.BOLD]: true });
cursor.insertListItem(i + 6, bulletSixHeader).setGlyphType(DocumentApp.GlyphType.BULLET).setAttributes({ [DocumentApp.Attribute.BOLD]: true });
}
这里是一个示例谷歌文档,其中包括我迄今为止拥有的脚本。
我一直在研究和解决这个现有问题和也是这个问题,但一直无法弄清楚。
to trigger the script from within the document
使用
a link
。如果
a custom menu
是
less ideal in this instance
,这是一个使用
Web Apps
的示例脚本,它应该执行您想要的操作:
Template Text.gs
:
function doGet() {
return HtmlService.createHtmlOutputFromFile("Untitled");
}
Untitled.html
:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<p>You may now close this page.</p>
</body>
<script>
function myFunction() {
google.script.run.insertText();
}
window.onload = function() {
myFunction();
};
</script>
</html>
将这些代码添加到您的 Template Text.gs
和
Untitled.html
后,选择
Deploy
>
New deployment
>
Next to "Select type," click Enable deployment types settings
>
Enter the information about your web app in the fields under "Deployment configuration."
>
Deploy
获取可嵌入到
myLink
的链接。
注意:这只是一个基本示例。正如我在评论中提到的,这
wouldn't be as straightforward as using a custom menu
因为用户在click
Web 应用程序的link
后必须手动关闭选项卡。