CS2でのjavaスクリプトをCS3で使いたい

[1478]CS2でのjavaスクリプトをCS3で使いたい | 投稿者:momo | 投稿日:2008/07/26(Sat) 21:08:10
いつもお世話になっています。

近々、CS2からCS3にバージョンアップしようと準備しています。
マシン環境はWindowsで、CS2とCS3共存です。

こちらのサイトを含め、
色々なところで便利なスクリプトをいただいて使わせていただいています。
残念ながら勉強不足で、スクリプトの記述内容についてはよくわかりません。

今回、CS3でスクリプトのテストをしたのですが、
CS2で動いていたjavaスクリプトがCS3で動きません。
かぎ括弧の検索置換のスクリプトなんですが、
(どこでいただいたものか記憶が定かでないのですが)
「findPreferences」?のエラーが出ます。
CS2で使っていたものは、そのままでは使えないのでしょうか?

ちなみに、
LiさんのところのCS3用のスクリプトは動いているので、
入れる場所は合っていると思うのです…。

よろしくおねがい致します。
» 1
[1479]Re: CS2でのjavaスクリプトをCS3で使いたい | 投稿者:amiza_ret | 投稿日:2008/07/27(Sun) 01:32:27
お~まちさんのwebです。
http://www15.ocn.ne.jp/~preopen/iddom/about.html

このオブジェクトモデルの「findPreferences」を見てみると、CS3には対応しておりません。CS3では検索・置換が強化されているためだと思います。
(この図を見ると分るように、全てのCS2用javascriptがCS3で動作しない訳ではありません。)

javascriptの内容を見てみないと何とも言えませんが、多少のjavascriptの知識がないとご自身でソースの修正は難しいかも知れません。
(最近、CS2用の検索・置換のjavascriptをCS3用に修正しましたがちょっと面倒でした)
いっその事、momoさんも勉強をしてみるのも手だと思います。
(私も、javascriptを初めて数ヶ月です…)

※ソースの改変を行う場合は、制作者の意向も読んでおいた方がいいと思います。
» 2
[1480]Re: CS2でのjavaスクリプトをCS3で使いたい | 投稿者:momo | 投稿日:2008/07/27(Sun) 09:47:02
amiza_ret さん、
早速のメッセージをありがとうございます。

そうですね、勉強しないといけませんね、
ご紹介いただいたお~まちさんのwebを見ましたが、
ちんぷんかんぷんでした(お恥ずかしい…)。

さしあたって、
今から勉強を始めるのでは間に合わないので、ちょっとみていただけませんか。。。
今回動かしたいスクリプトは、webの掲示板上にあったものなので、
(こちらの掲示板にも似たようなものが出ていたような…)
制作者云々はたぶん大丈夫だと思います。

※管理人さん、まずいようでしたら、削除お願いします。※


かぎ括弧を短いものに変換するスクリプトです。

//------------------ここから--------------------
// 検索/置換設定のクリア(起こしのカギ括弧)
app.findPreferences = NothingEnum.nothing;
app.changePreferences = NothingEnum.nothing;
// 検索条件の設定
app.findPreferences.findText = "「";
// 検索(範囲:カーソルを立ててあるストーリー全体)
var range = app.selection[0].parentStory;
// 検索の実行
var findList = range.search();
// 後ろから置換を実行
for (var i=findList.length-1; i>=0; i--){
with (findList[i]){
contents = String.fromCharCode(0xFE41);
opentypeFeatures = [["aalt",4]];
}
}

// 繰り返し(受けのカギ括弧)
app.findPreferences = NothingEnum.nothing;
app.changePreferences = NothingEnum.nothing;
app.findPreferences.findText = "」";
var range = app.selection[0].parentStory;
var findList = range.search();
for (var i=findList.length-1; i>=0; i--){
with (findList[i]){
contents = String.fromCharCode(0xFE42);
opentypeFeatures = [["aalt",4]];
}
}
//------------------ここまで--------------------


ずうずうしくて申し訳ありません。
よろしくお願いいたします。
» 3
[1482]Re: CS2でのjavaスクリプトをCS3で使いたい | 投稿者:三島梅花藻 | 投稿日:2008/07/27(Sun) 10:32:04
    たぶんそのスクリプトは、いきさんが書いたものではないかと思います。
でも、さらにその元になったスクリプトは私が某所の掲示板のレスに出したものなので、問題はないと思います。

自宅でCS3が入っていないので、確実に動く状態に修正はできないのですが、たぶんここを直せば動くんじゃないかという点は指摘できるかと思い、書き込みします。

「findPreferences」を「FindTextPreference」にすべて置き換え。
「changePreferences」を「ChangeTextPreference」にすべて置き換え。
「NothingEnum.nothing」を「idNothingEnum.idNothing」にすべて置き換え。

とりあえず、これらを置換したスクリプトで試してみてください。
» 4
[1483]Re: CS2でのjavaスクリプトをCS3で使いたい | 投稿者:momo | 投稿日:2008/07/27(Sun) 16:12:37
三島梅花藻さん、ありがとうございます。

> いきさんが書いたもの
> その元になったスクリプトは私が・・・

こちらにいらっしゃる皆さんのお陰で、今までスムーズな作業ができていたんですね~。
今回も、重ね重ねお世話になります。
本当にありがとうございます。


書き換えの件ですが、私も今は自宅で、確認ができません。
明日、出社したら試させていただきます。
取り急ぎ、お礼まで。
またご報告させていただきます。
» 5
[1485]Re: CS2でのjavaスクリプトをCS3で使いたい | 投稿者:梅花藻 | 投稿日:2008/07/28(Mon) 10:10:24
   ええと、大文字小文字とか複数形とかミスがありました。

また、「findText」を「findWhat」に、「search()」を「findText()」にすべて置き換えることも追加です。
それと、ChangeTextPreferenceの行は必要なくなりましたので削りました。
かわりにfindChangeTextOptionsが増えます。

そういうわけで、以下のようになります。

//------------------ここから--------------------
// 検索/置換設定のクリア(起こしのカギ括弧)
app.findTextPreferences = NothingEnum.NOTHING;
app.findChangeTextOptions = NothingEnum.NOTHING;
// 検索条件の設定
app.findTextPreferences.findWhat = "「";
// 検索(範囲:カーソルを立ててあるストーリー全体)
var range = app.selection[0].parentStory;
// 検索の実行
var findList = app.selection[0].parentStory.findText();
// 後ろから置換を実行
for (var i=findList.length-1; i>=0; i--){
with (findList[i]){
contents = String.fromCharCode(0xFE41);
opentypeFeatures = [["aalt",4]];
}
}

// 繰り返し(受けのカギ括弧)
app.findTextPreferences = NothingEnum.NOTHING;
app.findTextPreferences.findWhat = "」";
var range = app.selection[0].parentStory;
var findList = range.findText();
for (var i=findList.length-1; i>=0; i--){
with (findList[i]){
contents = String.fromCharCode(0xFE42);
opentypeFeatures = [["aalt",4]];
}
}
//------------------ここまで--------------------
» 6
[1488]Re: CS2でのjavaスクリプトをCS3で使いたい | 投稿者:こに | 投稿日:2008/07/28(Mon) 11:11:31
梅花藻さんがCS3用に書き直されているので必要ないと思いますが、
CS2用のスクリプトを手っ取り早くCS3で使いたいときは、
Script Panelフォルダの中にVersion 4.0 Scriptsフォルダを作成して、その中にCS2用のスクリプトをコピーすれば、そのまま使えます。
CS2用のスクリプトをCS3用に移植し終わるまでの暫定的な運用として使えるかと思います。 ご参考までに。
» 7
[1505]Re: CS2でのjavaスクリプトをCS3で使いたい | 投稿者:momo | 投稿日:2008/07/28(Mon) 20:03:53
梅花藻さん、

会社から書き込みができず、
ご報告とお礼がおそくなりました。

スクリプトの書き換え、ありがとうございました。
本日、動作を確認しました。
本当に助かりました。
これから、少しずつ勉強します。
またよろしくお願いいたします。


こにさん、
> Script Panelフォルダの中にVersion 4.0 Scriptsフォルダを作成

!!!
すご~い! そんなことができるとは・・・(驚)!
ありがとうございます、早速試してみます!
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)

このページをシェア