我正在使用带有InDesign的ExtendScript来进行一些简单的搜索和替换来更改GREP。
如果我把它们一个一个地写出来,一切都很好。
app.findGrepPreferences = app.changeGrepPreferences = null;
app.findChangeGrepOptions = NothingEnum.nothing;
app.findGrepPreferences.findWhat = '^~8 ';
app.changeGrepPreferences.changeTo = `~8\\t`;
myDoc.changeGrep();但我想整理一下,并创建一个循环,运行包含搜索和查找的两个数组。
var findWhat = [ '^~8 ', '^·( |\\t)', '~S', '^ +', ' +$', ' +', '~P', '^\\t+(?=\\r)', '\\n', '\\r\\r\\r+'];
var changeTo = ['~8\\t','~8\\t',' ', '','',' ','\\r','','\\r','\\r\\r'];
for(var i = 0; i < findWhat.lenght; i++){
app.findGrepPreferences = app.changeGrepPreferences = null;
app.findChangeGrepOptions = NothingEnum.nothing;
app.findGrepPreferences.findWhat = findWhat[i];
app.changeGrepPreferences.changeTo = changeTo[i];
myDoc.changeGrep();
}这不会给我一个错误,但它也不会改变任何东西。有没有办法对符号集进行某种类型的错误处理,从而为我提供一些信息?
我正在编辑ExtendScript Toolkit中的代码
发布于 2018-03-29 14:22:02
我找到了我自己尴尬的解决方案。
循环不会循环,因为它不理解lenght是什么意思。
将其更改为length,它运行良好......
var findWhat = [ '^~8 ', '^·( |\\t)', '~S', '^ +', ' +$', ' +', '~P', '^\\t+(?=\\r)', '\\n', '\\r\\r\\r+'];
var changeTo = ['~8\\t','~8\\t',' ', '','',' ','\\r','','\\r','\\r\\r'];
for(var i = 0; i < findWhat.length; i++){
app.findGrepPreferences = app.changeGrepPreferences = null;
app.findChangeGrepOptions = NothingEnum.nothing;
app.findGrepPreferences.findWhat = findWhat[i];
app.changeGrepPreferences.changeTo = changeTo[i];
myDoc.changeGrep();
}https://stackoverflow.com/questions/49533423
复制相似问题