【问题标题】:Find Next in Google Apps在 Google Apps 中查找下一个
【发布时间】:2018-02-15 20:19:52
【问题描述】:
我们有一堆文档要转换为 Google 文档。在 MSWord 中,我们有一个宏,我们的用户在其中按下一个键盘命令,它会自动找到一个字符串 (%%%),然后选择它们。所以我们可以快速进入并用正确的数据替换所有出现的它们。
我在 Google 文档或脚本中找不到任何可以做到这一点的东西。
TL;DR
我需要编写一个脚本来查找和选择文本,以便我们可以快速覆盖它。有什么帮助或想法吗?
【问题讨论】:
标签:
google-apps-script
google-docs
【解决方案1】:
此功能与侧边栏配合使用以查找和选择文本。
function findTextAndSelect(s){
var doc=DocumentApp.getActiveDocument();
var body=doc.getBody();
var rgel=body.findText(s);
if(rgel){
var rgbldr=doc.newRange();
rgbldr.addElement(rgel.getElement(),rgel.getStartOffset(),rgel.getEndOffsetInclusive());
var rg=rgbldr.build();
if(rg.getRangeElements().length>0){
doc.setSelection(rgbldr.build());
return 'found';
}
else{
return 'Not Found';
}
}else{
return 'Not Found';
}
}
**这是侧边栏代码。 **
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(function() {
$('#txt1').val('');
});
function findAndSelect(){
$('#status').html('');
var txt=$('#txt1').val();
google.script.run
.withSuccessHandler(function(hl){
$('#status').html('<strong>Status:</strong>' + hl);
})
.findTextAndSelect(txt);
}
console.log("My code");
</script>
</head>
<body>
<br />Text:<br /><textarea id="txt1" rows="6" cols="35"></textarea>
<br /><input type="button" id="btn3" value="Find Text and Select" onClick="findAndSelect();" />
<div id="status"></div>
</body>
</html>
您需要添加代码以加载侧边栏并可能将其放入菜单中。