Google apps script 可以在google工作表中自动运行查找和替换脚本来替换多个值吗?

Google apps script 可以在google工作表中自动运行查找和替换脚本来替换多个值吗?,google-apps-script,google-sheets,hyperlink,Google Apps Script,Google Sheets,Hyperlink,我有一个脚本,它将运行并仅在B列中用a替换CHA实例。我想从这里开始替换以下所有内容: 恰恰->A CHB->B CHC->C 冠心病->糖尿病 PMA->A 港口及航运局->港口及航运局 PMC->C如果可能 双空格“->单空格” 如果一个单元格包含多个实例,我使用的脚本不会更改所有实例。例如,包含“CHA CHA”的单元格可能只会更改为“a CHA”,除非脚本运行多次。有没有办法循环脚本并捕获这些内容?有没有办法让1个脚本更改所有请求的文本?下面是我当前的脚本和谷歌测试表的链接。非常感谢

我有一个脚本,它将运行并仅在B列中用a替换CHA实例。我想从这里开始替换以下所有内容:

  • 恰恰->A
  • CHB->B
  • CHC->C
  • 冠心病->糖尿病
  • PMA->A
  • 港口及航运局->港口及航运局
  • PMC->C
    如果可能
  • 双空格“->单空格”
如果一个单元格包含多个实例,我使用的脚本不会更改所有实例。例如,包含“CHA CHA”的单元格可能只会更改为“a CHA”,除非脚本运行多次。有没有办法循环脚本并捕获这些内容?有没有办法让1个脚本更改所有请求的文本?下面是我当前的脚本和谷歌测试表的链接。非常感谢您的帮助或见解

函数onOpenCHA(){ var sheet=SpreadsheetApp.getActiveSheet(); var范围=sheet.getRange(“B1:B”); var to_replace=“CHA”; var将_替换为=“A”; replaceInSheetCHA(表,范围,要替换,替换为); } 函数replaceInSheetCHA(表,范围,要替换,替换为){ //证实 var ui=SpreadsheetApp.getUi(); var spread=SpreadsheetApp.getActiveSpreadsheet(); var data=range.getValues(); var oldValue=“CHA”; var newValue=“A”; var cellsChanged=0; 对于(变量行=0;行答案: 您可以使用
TextFinder
更改范围内字符串的所有实例

示例代码:
函数替换(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheets()[0];
var colB=表.getRange(“B1:B”);
var VALTOCHANGE=[“CHA”、“CHB”、“CHC”、“CHD”、“PMA”、“PMB”、“PMC”和“];
var changeToArr=[“A”、“B”、“C”、“D”、“A”、“B”、“C”和“];
valsToChange.forEach(函数(v,i){
colB.createTextFinder(v).replaceAllWith(changeToArr[i]);
});
}
此代码的摘要:

  • 获取要替换其中字符串的工作表
  • 定义要替换的字符串
  • 定义要显示的字符串
  • 循环遍历范围中的每个字符串,并用其各自的替换字符串替换所有字符串
我希望这对你有帮助

参考资料: