No.2615 2009/03/19(Thu) 17:59:37
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.590; InfoPath.2; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) Sleipnir/2.8.4
|
Re: 表内の文字列の検索 / たけうちとおる |
|
|
|
選択範囲を検索するようにすればヒットすると思います。 CS2のWinはVBSしか作っていないのですが 下記スクリプトを拡張子.vbsで保存すれば動くと思います。 Callはいらないかもしれません。
Call FindRep("検索文字", "置換文字")
Sub FindRep(findStr, repStr) Set myInDesign = CreateObject("InDesign.Application.CS2_J") '既存の検索環境設定を消去←※これ重要 With myInDesign.FindPreferences .AppliedCharacterStyle = "" .AppliedParagraphStyle = "" .AppliedFont = "" .FontStyle = "" End With '置換設定をなしにする。 With myInDesign.ChangePreferences .AppliedCharacterStyle = "" .AppliedParagraphStyle = "" .AppliedFont = "" .FontStyle = "" End With 'スタイルを検索条件に入れる--今回は使わない '参考:mySearchDoc.CharacterStyles.Item(i).Nameで、使われている全ての文字スタイルが取得できる 'myInDesign.FindPreferences.AppliedParagraphStyle = "00本文" 'myInDesign.FindPreferences.AppliedCharacterStyle = "SimSun" 'フォントを条件に入れる--今回は使わない 'If F_Search.chk_simsun.Value = 1 Then ' myInDesign.FindPreferences.AppliedFont = "SimSun" 'End If Set myFoundItems = myInDesign.ActiveDocument.Selection(1).Search(findStr, true, true, false ,true ,repStr) end Sub
|
No.2617 2009/03/19(Thu) 20:12:11
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; ja-jp) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
|
|
Re: 表内の文字列の検索 / たけうちとおる |
|
|
|
JavaScriptではこのように書きますね。 表を選択した状態で実行します。親フレーム選択状態でも大丈夫です。
keyword = "InDesign"; result = app.selection[0].search(keyword, false); alert(result.length+"個見つかりました");
※さっきのVBSはどなたかのを参考に作った物です。(すいません忘れてしまいました。「お〜まちさん」だったかも)この場をお借りして感謝いたします。
ちなみにAppleScriptのCS2は下記です。 http://www.adg7.com/takenote_b/2009/03/25search.html
それとCS3からは書き方が変わりますのでご注意下さい。
|
No.2618 2009/03/19(Thu) 20:21:20
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; ja-jp) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
|
|
Re: 表内の文字列の検索 / ORZ |
|
|
|
たけうちとおる様、ありがとうございました。
動作確認できました。 VBS、APSは使用したことがなく、JavaScriptを掲示していただいたので、こちらを使用させてもらいました。
自動化大作戦のWEBサンプルを見直しましたが、やはりsearchを使っていて・・・何が悪かったのか判明せずモヤモヤですが・・・
ありがとうございました。
>それとCS3からは書き方が変わりますのでご注意下さい。
そうなんですね・・・CS3対応の必要が出たらまた苦労することになりそうです。。。ありがとうございます!
|
No.2632 2009/03/23(Mon) 10:53:20
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.590; InfoPath.2; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) Sleipnir/2.8.4
|
|
Re: 表内の文字列の検索 / たけうちとおる |
|
|
|
すいません >やはりsearchを使っていて・・・何が悪かったのか判明せずモヤモヤですが・・・ keyword = "InDesign"; result = app.search(keyword, false); alert(result.length+"個見つかりました"); でも動きますね。
この場合アプリケーションに対してsearchを行っているので 開いているドキュメント全ての検索結果になります。 下のようにactiveDocumentを入れると最前面のドキュメントのみの結果になります。
keyword = "InDesign"; result = app.activeDocument.search(keyword, false); alert(result.length+"個見つかりました");
さらにselection[0]だと選択されているオブジェクトの1つめになります。
なので >テキストフレーム内に配置した表のセル内にある文字列がひっかかりません。 がちょっとわからないのですが、activeDocumentでも駄目でしょうか?
|
No.2634 2009/03/23(Mon) 12:30:22
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; ja-jp) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
|
|
Re: 表内の文字列の検索 / PsychoCat |
|
|
|
ORZさんに質問なんですが、 ひょっとして、文字列検索でマッチする文字列、もしくはその文字列を含むセルのオブジェクトの参照を得たいのではないですか?
つまり、文字列検索してヒットしたセルの背景色を変更するとか、そのセルを含むテーブル、さらにその上の階層のテーブルとかテキストフレームをコントロールしようとされているのではないですか?
私はその参照を得ようとした時に、searchコマンドでは得られないとあきらめ、別の方法を使いました。 searchコマンドでもリファレンスはゲットできるものなのでしょうか?
|
No.2636 2009/03/23(Mon) 15:04:45
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; ja-jp) AppleWebKit/528.16 (KHTML, like Gecko) Version/4.0 Safari/528.16
|
|
Re: 表内の文字列の検索 / PsychoCat |
|
|
|
自己レスです。
ごめんなさい。searchコマンドでもできましたね。AppleScriptの場合ですが。
tell application "Adobe InDesign CS2_J" set find preferences to nothing set change preferences to nothing tell active document set the_text_refs to search for "hoge" set a_ref to item 1 of the_text_refs select parent of a_ref end tell end tell
グループ化されたオブジェクトの1つのテキストフレーム中の表セル内の文字を検索して、そのセルをセレクトしたことを確認できました。
となると、やはり >テキストフレーム内に配置した表のセル内にある文字列がひっかかりません。 の原因がわかりませんね。
|
No.2642 2009/03/24(Tue) 11:12:30
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; ja-jp) AppleWebKit/528.16 (KHTML, like Gecko) Version/4.0 Safari/528.16
|
|