【问题标题】:bulk find and replace in google docs using sheet and app script使用工作表和应用脚本在谷歌文档中批量查找和替换
【发布时间】:2021-03-24 23:05:56
【问题描述】:

提前谢谢你。

我正在尝试多次查找并用参考谷歌表替换谷歌文档

Find            |  Replace  
----------------------------
bill number one | Bill No. 1
Bill number one | Bill No. 1
Bill number 1   | Bill No. 1
Bill Number One | Bill No. 1
Bill Number 1   | Bill No. 1
function replMyText(){
  var ss=SpreadsheetApp.openById('1-WblrS95VqsM5eRFkWGIHrOm_wGIPL3QnPyxN_j5cOo');
  var sh=ss.getSheetByName('find and replace');
  var doc=DocumentApp.getActiveDocument();
  var docrange=doc.getBody()
  var rgtxt=doc.getBody();//text to replace
  var rgrep=sh.getRange('A2:B103');//replacement table
  var txtA=rgtxt.getText();
  var repA=rgrep.getValues();
  
  for(var i=0;i<txtA.length;i++){
    for(var j=0;j<repA.length;j++){
      if(txtA[i][0]==repA[j][0]){
        txtA[i][0]=repA[j][1];
      }
    }
  }
  rgtxt.setText(txtA);
}

我没有得到输出。

【问题讨论】:

    标签: javascript google-apps-script google-sheets google-docs


    【解决方案1】:

    我相信你的目标如下。

    • 您想使用从 Google 电子表格检索到的值替换 Google 文档中的文本。
    • Google 电子表格中的“A”列和“B”列分别是搜索文本和替换文本。

    在这种情况下,我认为replaceText() 可能可以使用。当你的脚本被修改后,变成如下。

    修改脚本:

    function replMyText() {
      var ss = SpreadsheetApp.openById('1-WblrS95VqsM5eRFkWGIHrOm_wGIPL3QnPyxN_j5cOo');
      var sh = ss.getSheetByName('find and replace');
      var doc = DocumentApp.getActiveDocument();
      var rgtxt = doc.getBody();
      var rgrep = sh.getRange('A2:B103');
      var repA = rgrep.getValues().filter(r => r.every(c => c.toString()));
      repA.forEach(e => rgtxt.replaceText(...e));
    }
    

    参考:

    【讨论】:

    • 可以告诉我如何添加精确匹配 ex。像“威廉姆斯”这样的姓氏。在“Williams”的句子末尾。我想用 ms 代替 ms。
    • @Sachin Pathare 感谢您的回复。我很高兴你的问题得到了解决。关于你的新问题,我想支持你。但不幸的是,我不明白你想做什么。这是因为我的英语水平不好。我为此道歉。那么我可以问你关于你的新问题的细节吗?通过这个,我想尝试理解你的新问题。
    • stackoverflow.com/q/66800898/7419737希望你能理解。ありがとうございました
    • @Sachin Pathare 感谢您的回复。现在我注意到你的新问题已经解决了。我很高兴。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多