前提・実現したいこと
ここに質問の内容を詳しく書いてください。
Indesignで約物2分変換自動化する時、条件として)。の時は)をベタにする様にしたのですが、
離れている)までベタになってしまいます。
例えば、「この(商品)は(素晴らしい)。」という文章があるとします。全てを選択して、変換をすると「(商品)」の「)」までベタになってしまい困っています。
どのようにすればいいのか解らないので、教えていただきたいと思います。
宜しくお願いします。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
Main() function Main(){ app.doScript("doMain()", ScriptLanguage.JAVASCRIPT, [], UndoModes.fastEntireScript); } function doMain(){ ////////////////////////////////////////////エラー処理 function myerror(mess) { if (arguments.length > 0) { alert(mess); } exit(); } ////////////////////////////////////////////正規表現検 //正規表現で検索して、ヒットオブジェクトを返すだけ function my_regex(my_range_obj, my_find_str, my_change_str) { //検索の初期化 app.findGrepPreferences = NothingEnum.nothing; app.changeGrepPreferences = NothingEnum.nothing; //検索オプション app.findChangeGrepOptions.includeLockedLayersForFind = false;//ロックされたレイヤーをふくめるかどうか app.findChangeGrepOptions.includeLockedStoriesForFind = false;//ロックされたストーリーを含めるかどうか app.findChangeGrepOptions.includeHiddenLayers = false;//非表示レイヤーを含めるかどうか app.findChangeGrepOptions.includeMasterPages = false;//マスターページを含めるかどうか app.findChangeGrepOptions.includeFootnotes = false;//脚注を含めるかどうか app.findChangeGrepOptions.kanaSensitive = true;//カナを区別するかどうか app.findChangeGrepOptions.widthSensitive = true;//全角半角を区別するかどうか app.findGrepPreferences.findWhat = my_find_str;//検索文字の設定 //app.changeGrepPreferences.changeTo = my_change_str;//置換文字の設定 return my_range_obj.findGrep();//検索の実行 } /////字形変換 実行 ////////////////まずは選択しているもののチェック if (app.documents.length == 0) {myerror("ドキュメントが開かれていません")} var mydocument = app.activeDocument; if (mydocument.selection.length == 0) {myerror("テキストを選択してください")} var myselection = mydocument.selection[0]; var myclass =myselection.reflect.name; myclass = "Text, TextColumn, Story, Paragraph, Line, Word, Character, TextStyleRange".match(myclass); if (myclass == null) {myerror("テキストを選択してください")} ////////////////検索の実行 /* 0;アキなし 0.125;八分 0.25;四分 0.5;二分 0.75;二分四分 1;全角 2とか5も指定できる。でもリストには「自動」と表示される */ var hit_obj = my_regex(myselection, "[・,‐,?,!,。,、:,;,(,),「,」,【,】,〈,〉,{,},『,』,《,》,“,”,,,,,,,,,,,,]", ""); var umg; var myarry = new Array(); for (var i = 0; i < hit_obj.length; i++ ) { myarry[i] = hit_obj[i].contents } for (var i = 0; i < hit_obj.length; i++ ) { umg = i; switch (hit_obj[i].contents) { case "・": hit_obj[i].leadingAki=0.25; hit_obj[i].trailingAki=0.25; break; case "‐": hit_obj[i].leadingAki=0.25; hit_obj[i].trailingAki=0.25; break; case "?": hit_obj[i].leadingAki=0; hit_obj[i].trailingAki=0.5; break; case "!": hit_obj[i].leadingAki=0.25; hit_obj[i].trailingAki=0.25; break; case "。": umg = i - 1; if (myarry[umg] == ")" || myarry[umg] == "」" || myarry[umg] == "』") { hit_obj[umg].leadingAki=0; hit_obj[umg].trailingAki=0; hit_obj[i].leadingAki=0; hit_obj[i].trailingAki=0.5; } else { hit_obj[i].leadingAki=0; hit_obj[i].trailingAki=0.5; } break; case "、": hit_obj[i].leadingAki=0; hit_obj[i].trailingAki=0.5; break; case ":": hit_obj[i].leadingAki=0.25; hit_obj[i].trailingAki=0.25; break; case ";": hit_obj[i].leadingAki=0.25; hit_obj[i].trailingAki=0.25; break; case "(": hit_obj[i].leadingAki=0.5; hit_obj[i].trailingAki=0; break; case ")": hit_obj[i].leadingAki=0; hit_obj[i].trailingAki=0.5; break; case "「": hit_obj[i].leadingAki=0.5; hit_obj[i].trailingAki=0; break; case "」": hit_obj[i].leadingAki=0; hit_obj[i].trailingAki=0.5; break; case "【": hit_obj[i].leadingAki=0.5; hit_obj[i].trailingAki=0; break; case "】": hit_obj[i].leadingAki=0; hit_obj[i].trailingAki=0.5; break; case "〈": hit_obj[i].leadingAki=0.5; hit_obj[i].trailingAki=0; break; case "〉": hit_obj[i].leadingAki=0; hit_obj[i].trailingAki=0.5; break; case "{": hit_obj[i].leadingAki=0.5; hit_obj[i].trailingAki=0; break; case "}": hit_obj[i].leadingAki=0; hit_obj[i].trailingAki=0.5; break; case "『": hit_obj[i].leadingAki=0.5; hit_obj[i].trailingAki=0; break; case "』": hit_obj[i].leadingAki=0; hit_obj[i].trailingAki=0.5; break; case "《": hit_obj[i].leadingAki=0.5; hit_obj[i].trailingAki=0; break; case "》": hit_obj[i].leadingAki=0; hit_obj[i].trailingAki=0.5; break; case "“": hit_obj[i].leadingAki=0.5; hit_obj[i].trailingAki=0; break; case "”": hit_obj[i].leadingAki=0; hit_obj[i].trailingAki=0.5; break; default: hit_obj[i].leadingAki=0.5; hit_obj[i].trailingAki=0.5; break; } // switch文のカッコ閉じ } // for文のカッコ閉じ } // doMainのカッコ閉じ
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
Indesign CS6.0使用
回答1件
あなたの回答
tips
プレビュー