我一直在尝试多种不同的方式,没有任何方法。
我想要一个函数,当某人键入某些东西时,单元的内容会自动变形并消除所有口音。
例如:如果我键入"Áééââüú",它立即变成" aeioaauu"。
我尝试的以下情况:
- 用正常字母的口音更改字母,然后在同一oneDit中提高所有内容;
- 将不同oneDit中的函数分开;
- 只是一个在另一个脚本中调用函数的OneDit。
这是我的代码:
function onEdit(e){
try{
myA(e);
myE(e);
myUpper(e);
}
catch(e){
if(e){}}
}
function myFunction(){
var app= SpreadsheetApp;
var targetSheet= app.getActiveSpreadsheet().getSheetByName("Sheet1");
onEdit();
}
函数" mya"," mye"one_answers" myupper",每个函数都在分开的脚本中,它们是:
function myUpper(e) {
e.range.setValue(e.value.toUpperCase());
}
function myE(e) {
e.range.setValue(e.value.replace(new RegExp("[[éèêëÉÈÊË]", 'g'),"E"));
}
function myA(e) {
e.range.setValue(e.value.replace(new RegExp("[[áàâäãÁÀÂÄÃ]", 'g'),"A"));
}
运行整个代码,只有函数" my"起作用。换句话说,只有带有重音的字母" e"变成" e"。
我在做什么错?
预先感谢。
您可以使用一个onEdit()
触发器来完成此操作。
function onEdit(e){
var ss = e.source;
var sheet = ss.getSheetByName('Sheet1');
var value = e.value;
var range = e.range;
value = value.replace(new RegExp("[[éèêëÉÈÊË]", 'g'),"E");
value = value.replace(new RegExp("[[áàâäãÁÀÂÄÃ]", 'g'),"A");
value = value.toUpperCase();
range.setValue(value);
}