javascriptで,スタイルを[なし]にするには?

[8603]javascriptで,スタイルを[なし]にするには? 投稿者:tuner fork 投稿日:2006/03/24(Fri) 19:09
立て続けですみません。初歩的なことだと思いますが,もうひとつ教えてください。

何らかの文字スタイルが適用されている文字に対して,そのスタイルを解除([なし]に設定)するにはどうすればよいのでしょう? 定義したスタイルを適用するのはできるのですが,appliedCharacterStyle = "[なし]"としても「値が無効です」と言われてしまいます。

どなたかご存じのかたお願いします。
» 1
[8603へのレス]Re: javascriptで,スタイルを[なし]にするには? 投稿者:ミシマバイカモ 投稿日:2006/03/24(Fri) 22:00
現在、自宅なので正確なところは覚えていなくて申し訳ないのですが、
app.activeDocument.CharacterStyles[0]
(app.activeDocument.CharacterStyles.item(0)と同じ)
を代入してやれば文字スタイルなしになったと思います。
大文字小文字他スペルが違うかも知れませんので、御注意ください。
» 2
[8603へのレス]Re: javascriptで,スタイルを[なし]にするには? 投稿者:tuner fork 投稿日:2006/03/25(Sat) 18:55
ありがとうございます! 月曜日は出張なので,火曜日会社で試してみたいと思います。
» 3
[8603へのレス]Re: javascriptで,スタイルを[なし]にするには? 投稿者:三島梅花藻 投稿日:2006/03/27(Mon) 09:43
文字を選択しておいて、1.
app.selection[0].applyStyle(app.activeDocument.characterStyles[0],true);
もしくは、2.
app.selection[0].appliedCharacterStyle = app.activeDocument.characterStyles[0];
としてやれば、文字スタイルは[なし]になります。
しかし、先に適用されていた文字スタイルで使われていた設定が残ったままになります。
文字スタイルパレットの[なし]を適用した場合の形ではなく、「スタイルとのリンクを切断」を適用した場合の形です。
1.のapplyStyleの2つめの引数、[clearingOverrides]はtrueでもfalseでも省略しても同じでした。
文字スタイルを利用して等幅半角字形にし、その後文字スタイルを[なし]にしておくというような場合には有効なのですが、文字スタイルで適用された設定を解除するには別の手だてが必要です。
私がわかる範囲は今の所このあたりです。
» 4
[8603へのレス]Re: javascriptで,スタイルを[なし]にするには? 投稿者:tuner fork 投稿日:2006/03/28(Tue) 23:16
本日試してみてうまく行きました。ありがとうございました!
三島さんのかかれている,文字スタイルの設定が残ってしまうことについては解決方法が分かりませんが,私のスクリプトは「文字スタイルを利用して等幅~[なし]にしておくような場合」に相当するので問題解決です。ありがとうございました。
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)

このページをシェア