Tag プロパティについて

[2910]Tag プロパティについて 投稿者:toru 投稿日:2003/10/08(Wed) 14:36
皆さんこんにちは。
よく拝見させていただいているのですが、書き込みは初めてです。
スクリプトについての質問です。
環境は、Windows XP + InDesign 2.0.2 + VisualBasic 6 です。
InDesignに付属されている"スクリプティングガイド.pdf"には、各種オブジェクトのプロパティに Tag というものがあると記載されているのですが、私の環境ではこのプロパティが利用できないのです。
たとえば、"スクリプティングガイド"のP.527の真ん中より少し上あたりに、Application オブジェクトの プロパティとしてTag が載っています。
同じように、"Document" オブジェクト、"Page" オブジェクトにも Tag プロパティがあります。
その他にも、多くのオブジェクトの項には Tag プロパティが記載されています。
しかし、私の環境では、すべてのオブジェクトの Tag プロパティが利用できないのです。
VBのオブジェクトブラウザにも表示されないし、無理矢理VBのコードに書き込んでもエラーになるし、もともとタイプライブラリの中に無いのではないかという感じです。
VBの方では、"Adobe InDesign 2.0J Type Library"を参照設定してあります。
皆さんの中で、オブジェクトブラウザを起動することができる方がいらしたら、"スクリプティングガイド.pdf"と比べてみてください。おそらく、表示されないと思うのですが・・・
以上のことを、アドビの無料サポートに問い合わせた結果、後日連絡が来て、「スクリプト担当に問い合わせたら、Tag プロパティは問題なく機能しているという返事でした。」と言われました。
更に「実際のスクリプトの記述例など、これ以上のことについては、無料サポートではできません。」と蹴られてしまいました。(T_T)
どなたか分かる方がおられましたら、教えていただけないですか。
よろしくお願いします。
» 1
[2910へのレス]Re: Tag プロパティについて 投稿者:おやじ 投稿日:2003/10/08(Wed) 22:16
私の環境でも無理です(Win2000+InDesign2.02+WSH5.6)。
で、“name”プロパティで代用してます。
» 2
[2910へのレス]Re: Tag プロパティについて 投稿者:toru 投稿日:2003/10/09(Thu) 08:59
おやじさん、こんにちは。
レスありがとうございます。

私は、Name プロパティはその名のとおり、オブジェクトの名前を取得するときにしか使っておりません。
"スクリプティングガイド"の Tag の説明に「任意の文字列を設定できます。」とありますが、私は正にこのことがしたい訳なんです。
後から利用できるように、オブジェクトに自分で決めた目印を付けておくということですね。
おまけに、Name プロパティには、(実行時に?)値設定できないはずです。
"スクリプティングガイド"の"アクセス"欄には、"r/w" と記載されていますので、読み書きできるはずなのですが、実際は読み込みしかできません。

"スクリプティングガイド"は、このほかにも何となくおかしいんじゃないかというところがあったりして、あまり信用していません。
そして何よりも、"スクリプティングガイド"は分かりづらい!

誰か、Tag プロパティが正常に機能している方はいらっしゃいますか?
» 3
[2910へのレス]Re: Tag プロパティについて 投稿者:おやじ 投稿日:2003/10/09(Thu) 13:51
すみません。うっかりまちがってました。
“name”ではなくて、“label”でどうですか?

下記のスクリプトを拡張子「.vbs」で保存後、
任意のオブジェクト選択して実行すると、
スクリプトラベルに名前が反映されます。

Set myInDesign = CreateObject("InDesign.Application.2.0J")
Set mySelection = myInDesign.Selection

For i = 1 To mySelection.Count
Set myObj = mySelection.Item(i)
myObj.Label = "test" & i
Next
» 4
[2910へのレス]Re: Tag プロパティについて 投稿者:toru 投稿日:2003/10/09(Thu) 15:54
おやじさんありがとうございます。

Label プロパティ、使えそうですね。

でも、ご呈示の vbs はうまく動きませんでした。
"Set mySelection = myInDesign.Selection"
がまずいような気がするのですが・・・
ともあれ、Label プロパティで何とかなりそうです。
ありがとうございました。

でも、"スクリプティングガイド"には、Label プロパティが載ってないですよね。
おやじさんは、どこで Label プロパティの情報を得たんですか?
» 5
[2910へのレス]Re: Tag プロパティについて 投稿者:おやじ 投稿日:2003/10/09(Thu) 16:38
> でも、ご呈示の vbs はうまく動きませんでした。
> "Set mySelection = myInDesign.Selection"
> がまずいような気がするのですが・・・

簡易で作ったので、エラールーチンは無視しています。
オブジェクトを矢印ツールで「選択後に」実行すれば、OKのはずですが。

> おやじさんは、どこで Label プロパティの情報を得たんですか?

AdobeアメリカのScripting Forumを眺めていて、気づいたんだと思います。
付属のガイドはたしかに、まちがいだらけですね。



» 6
[2910へのレス]Re: Tag プロパティについて 投稿者:toru 投稿日:2003/10/10(Fri) 21:28
おおぉ、感動的です。

あいさつ遅れました。
おやじさんこんにちは。

何が感動的かって。
それは、Tag プロパティ一連のこともありますが、おやじさんが No.2919 で書いたコードの中に次のような1行がありました。

"Set myInDesign = CreateObject("InDesign.Application.2.0J")"

"スクリプティングガイド"だと同様の部分はすべて、最後の"J"が無くて、

"Set myInDesign = CreateObject("InDesign.Application.2.0")"

となっていますよね。

私は、IDスクリプティング駆け出しの頃、これでだいぶ泣かされました。
私の環境では、どうせ出来ないんだとも諦めかけもしました。
試行錯誤の末、私の場合は ".2.0" を削除して

"Set myInDesign = CreateObject("InDesign.Application")"

としたら何とか動くようになって、それ以来ずっとそうしてきました。
でも、なんか心の片隅ですっきりしない部分もありました。

ところがどうでしょう、日本語版なんだから製品名のとおり最後に "J" を付ければよかったんですね。
これまでのつかえが取れて、ああ、すっきりした。And 感動した。

すべては、間違いだらけの "スクリプティングガイド" のせいです。

それから、お礼が遅れてしまいましたが Tag プロパティの件、Label プロパティで代用した結果、すこぶる快調に動いております。
正に、私のやりたかったとおりに動いております。
本当にありがとうございました。
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)

このページをシェア