|
初めて投稿させていただきます。どうぞよろしくお願いいたします。
InDesignのスクリプトに関しての質問です。 changeText()の戻り値をとろうとすると、最後の1文字がきちんと取得できません。 例えば"test"を"abc"で置換する場合、app.changeText()[0].contentsが"ab"となります。 changeGrep()では"abc"となります。 どこか書き方を間違っていますでしょうか。 changeGrep()を使えば望む結果が得られるので火急の問題というわけではないのですが、気になったため質問させていただきました。 ご教示いただけますと幸いです。 どうぞよろしくお願いいたします。
# 環境 Windows 10 InDesgin 14.0.3 VSCode 1.46.1
# コード ``` function myChangeText(findStr, changeStr) { app.findTextPreferences = app.changeTextPreferences = NothingEnum.NOTHING; app.findTextPreferences.findWhat = findStr; app.changeTextPreferences.changeTo = changeStr; var result = app.changeText()[0]; app.findTextPreferences = app.changeTextPreferences = NothingEnum.NOTHING; return result; }
function myChangeGrep(findRgx, changeStr) { app.findGrepPreferences = app.changeGrepPreferences = NothingEnum.NOTHING; app.findGrepPreferences.findWhat = findRgx; app.changeGrepPreferences.changeTo = changeStr; var result = app.changeGrep()[0]; app.findGrepPreferences = app.changeGrepPreferences = NothingEnum.NOTHING; return result; }
// テスト1 // var tmp1 = myChangeText("test", "abc"); // $.writeln(tmp1.toSpecifier()) // $.writeln(tmp1.contents); // ab
// テスト2 var tmp2 = myChangeGrep("test", "abc"); $.writeln(tmp2.toSpecifier()) $.writeln(tmp2.contents); // abc
```
|
No.9937 2020/06/25(Thu) 09:00:15
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36
|