インデザインCOMアクセス成功

 ようやく、InDesignCS5のCOMを利用して動かすことができました。

 どうも、タイプライブラリーを作成するときに、インデザインの各オブジェクトのCLSIDなどをレジストリーに登録しているらしく、この時、正常に登録されないと、いくら呼び出してもエラーとなるわけです。ApplicationIDは登録されるが、それ以外のオブジェクトやプロパティなどの値が登録されないケースが多く見受けられます。

 特に、UACがWindowsに導入された以降のVISTA,Windows7では、この正常に登録されないことが多いので、注意が必要です。

 ①UACをオフにし、管理者権限でインデザインをインストールします。
 ②一度インデザインを起動し、終了させます。

 これでうまくいかない場合には、

 ①インデザインが起動していない状態で、

 C:\Users\user名\AppData\Local\Adobe\InDesign\Version 7.0-J\ja_JP\Caches\Scripting Support\7.0\Resources for Visual Basic.tlb

 C:\ProgramData\Adobe\InDesign\Version 7.0-J\ja_JP\Scripting Support\7.0\Resources for Visual Basic.tlb

 の2つのファイルを削除します。

 ②インデザインを起動します。ここで、削除した2つのタイプライブラリーファイルが作成されます。

 現状では、上記の方法で、正常にタイプライブラリの内容をレジストリーに登録できるようですが、これでもうまくいかない場合には、regtlib.exe でResources for Visual Basic.tlbを登録する方法などが有効野の場合があるようです。

 adobe社のIndesign Scriptのフォーラムを探したら、Vista環境での、VisualStudio2008、C#、InDesignCS4で、COMを利用するとエラーとなるという投稿があり、やはりあるんだと思いメッセージを読んでいったおかげで、②の方法を見つけることができました。

 ②の方法で、上手くいったということです。

 しかしながら、相変わらず、adbe関係者のメッセージを見ると、何で、C#やVB.NETのようなサポート言語(applescript, javascript, vbscript)でない言語に関して対応しないといけないのかなんて言っています。ましてや、vistaの権限の事なんてユーザーの問題でしょうと切り捨てていました。

 こういう態度でいいんでしょうかね、アドビーは!!

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 1

ナイス

この記事へのトラックバック