谷歌应用程序脚本::是否有可能获得光标的位置或从谷歌文档中获得选定的文本
Google apps script :: Is it possible to get the cursor position or get the selected text from Google Document
是否有任何Google Apps Script API来获取光标位置或从Google Document中获取所选文本。我找过了,什么也没找到。如果有人知道这件事,请帮助我。
谢谢,Vinod
目前没有这样的API。但是,在问题跟踪器上有一个未解决的问题。
尝试以下方法高亮显示,然后选择。这绝对是一种变通,但它可能适合您的需要。此方法的缺点是它将选择所有指定颜色的高亮文本。
function findHighlighted() {
var body = DocumentApp.getActiveDocument().getBody(),
bodyTextElement = body.editAsText(),
bodyString = bodyTextElement.getText(),
char, len;
for (char = 0, len = bodyString.length; char < len; char++) {
if (bodyTextElement.getBackgroundColor(char) == '#ffff00') // Yellow
Logger.log(bodyString.charAt(char))}
}
前面的答案在技术上是正确的,因为API中还没有包含用鼠标/光标选择文本的直接方法。
Add-ons快速入门有一个示例,其中包含以下方法:
/**
* Gets the text the user has selected. If there is no selection,
* this function displays an error message.
*
* @return {Array.<string>} The selected text.
*/
function getSelectedText() {
var selection = DocumentApp.getActiveDocument().getSelection();
if (selection) {
var text = [];
var elements = selection.getSelectedElements();
for (var i = 0; i < elements.length; i++) {
if (elements[i].isPartial()) {
var element = elements[i].getElement().asText();
var startIndex = elements[i].getStartOffset();
var endIndex = elements[i].getEndOffsetInclusive();
text.push(element.getText().substring(startIndex, endIndex + 1));
} else {
var element = elements[i].getElement();
// Only translate elements that can be edited as text; skip images and
// other non-text elements.
if (element.editAsText) {
var elementText = element.asText().getText();
// This check is necessary to exclude images, which return a blank
// text element.
if (elementText != '') {
text.push(elementText);
}
}
}
}
if (text.length == 0) {
throw 'Please select some text.';
}
return text;
} else {
throw 'Please select some text.';
}
}
相关文章:
- 谷歌文档表面引擎
- 如何通过谷歌应用程序脚本从谷歌文档中的位置确定命名范围
- 以PDF附件的形式通过电子邮件发送谷歌文档
- 谷歌文档's脚本
- 谷歌文档如何拦截Ctrl-S/Command-S来保存文档而不是html页面
- 使用jQuery访问元素'来自谷歌文档托管的iframe的文本
- 谷歌应用程序脚本:如何修复循环将一个谷歌文档的段落插入另一个
- 谷歌文档脚本addToFolder
- 从谷歌文档中获取选择
- 谷歌文档,用于在网站上提供文本
- 你知道谷歌文档Javascript是如何进行间隔数据自动刷新的吗?
- 谷歌文档和xml阅读
- 访问谷歌文档中的谷歌应用套件脚本
- 我想使用谷歌文档和jQuery创建一个实时更新分数行情
- 谷歌文档模拟键盘
- 谷歌文档 - 使用chrome扩展程序进行扩展
- 将包含内容和元数据的文件上传到谷歌文档会返回400无效/错误请求
- 谷歌文档是如何做到点击即粘贴的
- 在谷歌浏览器中,谷歌文档可以通过javascript控制页眉和页脚.有人知道这是怎么实现的吗
- 简单的云保存到谷歌文档