質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

258閲覧

Adobe scriptで 約物2分変換する際に、)。の時は)をベタにするという条件の時、)。ではない離れている)までベタになってしまう

sin777

総合スコア20

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2018/05/31 02:39

編集2018/06/01 01:43

前提・実現したいこと

ここに質問の内容を詳しく書いてください。

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使用

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2018/05/31 03:09

ベタにする、とはどういうことでしょう。やりたいことが見えません
KSwordOfHaste

2018/05/31 03:16

InDesignのスクリプトはJavaではなくJavaScriptだと思います。この2つは名前は似てますが全然別のものです。タグをJavaScriptに変更した方がよいと思います。
guest

回答1

0

自己解決

自己解決しました。
選択範囲しているを2つ(hit_obj と hit_obj2)用意して1つは「)」を、もう1つは、
その後ろの「。」を調べるようにしたら、別々に長体率を変える事が出来ました。

投稿2018/06/01 14:16

sin777

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問