Google apps script 如何用超链接添加或替换Google幻灯片笔记文本?
我需要在幻灯片0上的演示文稿中使用Google Apps脚本创建一个便笺,其中包含一个超链接,我从Google工作表上抓取该超链接,并将其附加到该便笺上。它需要是一个注释,而不是幻灯片中的文本或图像。原因是,如果先将演示文稿置于演示模式,则该URL只能在幻灯片中“单击” 如果我手动操作,我可以创建一个notes文本,选择它并附加一个超链接。文本将更改为常规超链接外观,用户可以单击该超链接,而无需首先进入演示模式 这就是我现在的成就:Google apps script 如何用超链接添加或替换Google幻灯片笔记文本?,google-apps-script,google-slides-api,Google Apps Script,Google Slides Api,我需要在幻灯片0上的演示文稿中使用Google Apps脚本创建一个便笺,其中包含一个超链接,我从Google工作表上抓取该超链接,并将其附加到该便笺上。它需要是一个注释,而不是幻灯片中的文本或图像。原因是,如果先将演示文稿置于演示模式,则该URL只能在幻灯片中“单击” 如果我手动操作,我可以创建一个notes文本,选择它并附加一个超链接。文本将更改为常规超链接外观,用户可以单击该超链接,而无需首先进入演示模式 这就是我现在的成就: slides[0].getNotesPage().getSpe
slides[0].getNotesPage().getSpeakerNotesShape().getText().setText("juhu");
但是如何将超链接添加到字符串“juhu”中呢
如果我试图用:.setLinkUrl()
完成它,它会告诉我:
异常:不允许在notes页元素(g7185420b90_2_454)上执行该操作。(第19行,文件“代码”)
有什么想法吗?您需要打开,然后使用下一个代码设置幻灯片的注释链接:
let presentationId = SlidesApp.getActivePresentation().getId();
let presentation = Slides.Presentations.get(presentationId);
let slidesReqs = [];
slidesReqs.push({
updateTextStyle: {
objectId: presentation.slides[0].slideProperties.notesPage.notesProperties.speakerNotesObjectId,
style: {
link: {
url: 'https://example.com'
}
},
textRange: {
type: 'ALL'
},
fields: 'link'
}
});
Slides.Presentations.batchUpdate({'requests': slidesReqs}, presentationId);
结果:
- 您希望将带有超链接的文本放到Google幻灯片上的备注页
- 您希望使用谷歌应用程序脚本实现这一点
是类TextStyle的方法。setLinkUrl()
- 根据您的问题,当运行
时,会发生此类错误。我想你的问题可能是这个原因幻灯片[0].getNotesPage().getSpeakerNotesShape().setLinkUrl(url)
- 根据您的问题,当运行
- 为了设置文本的超链接,首先,请对TextRange的对象使用
。此方法返回TextStyle的对象getTextStyle()
var text = "juhu";
var url = "###"; // Please set the URL.
var slides = SlidesApp.getActivePresentation().getSlides();
var text = slides[0].getNotesPage().getSpeakerNotesShape().getText().setText(text);
text.getTextStyle().setLinkUrl(url);
或
参考资料:
如果我误解了你的问题,而这不是你想要的方向,我道歉。@Thomas Holst谢谢你的回答。我很高兴你的问题解决了。
var text = "juhu";
var url = "###"; // Please set the URL.
var slides = SlidesApp.getActivePresentation().getSlides();
slides[0].getNotesPage().getSpeakerNotesShape().getText().setText(text).getTextStyle().setLinkUrl(url);