リンクをクリップボードにコピー
コピー完了
OSがWindows7の場合、
インデザインCS5.5においてVBSが動作しないように思います。
付属のサンプルVBSも動作しません。
OSがXPの場合、
動作を確認していますので、
Windows7の問題のように思います。
解決策をお持ちの方、アドバイスをお願いします。
リンクをクリップボードにコピー
コピー完了
私はCS5ですが、レジストリにおかしなところがあったので、それが原因かもしれません。
レジストリエディタでおかしなところを修正すると動作するかも知れません。
レジストリエディタの使い方についてはパソコンの中級以上の参考書等を見てください。
レジストリが何のことか 分からないというレベルであれば、パソコンに詳しい方に見てもらってください。
もっとも書き込み内容から判断すると特にその心配はなさそうですね。
さて、レジストリエディタで、検索対象をデータのみにして 「Resources for Visual Basic.tlb」を検索してください。
そうすると 「Resources for Visual Basic.tlb」のパス名が入っている値にヒットするはずですが、そのパス名がおかしいです。
CS5の場合
誤:C:\ProgramDataAdobe\InDesign\Version 7.0\ja_JP\Scripting Support\7.0\Resources for Visual Basic.tlb
正: C:\ProgramData\Adobe\InDesign\Version 7.0\ja_JP\Scripting Support\7.0\Resources for Visual Basic.tlb
ProgramDataとAdobeの間にあるべきバックスラッシュ が抜けています。
私の場合、 以下の4つのキーで見つかりました。
HKEY_CLASSES_ROOT\TypeLib\{0EAE2841-EABD-4550-BC0B-2C5097031493}\1.0\0\win32
HKEY_CLASSES_ROOT\TypeLib\{B694A47E-004D-48e0-AE77-B37A9CC18760}\1.0\0\win32
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{0EAE2841-EABD-4550-BC0B-2C5097031493}\1.0\0\win32
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{B694A47E-004D-48e0-AE77-B37A9CC18760}\1.0\0\win32
CS5.5でも同様で、かつそれを修正したら動作したというのであれば、 これはインストーラの問題ですので、早急に修正するよう依頼しなければなりません。確認をお願いします。
リンクをクリップボードにコピー
コピー完了
omachiさん、ありがとうございます。
レジストリを調べてみました。
CS5がインストールされている状態に、CS5.5をインストールすると、
タイプライブラリのGUIDが、CS5のGUIDの上に、上書きされているようです。
これが、原因かどうかは、はっきりしませんが、
インストーラに問題があるように思います。
CS5.5をインストール前:
HKEY_CLASSES_ROOT\TypeLib\{0EAE2841-EABD-4550-BC0B-2C5097031493}\1.0\0\win32
C:\ProgramData\Adobe\InDesign\Version 7.0\ja_JP\Scripting Support\7.0\Resources for Visual Basic.tlb
CS5.5をインストール後:
HKEY_CLASSES_ROOT\TypeLib\{0EAE2841-EABD-4550-BC0B-2C5097031493}\1.0\0\win32
C:\ProgramData\Adobe\InDesign\Version 7.5\ja_JP\Scripting Support\7.5\Resources for Visual Basic.tlb
CS5.5をインストール前:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{0EAE2841-EABD-4550-BC0B-2C5097031493}\1.0\0\win32
C:\ProgramData\Adobe\InDesign\Version 7.0\ja_JP\Scripting Support\7.0\Resources for Visual Basic.tlb
CS5.5をインストール後:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{0EAE2841-EABD-4550-BC0B-2C5097031493}\1.0\0\win32
C:\ProgramData\Adobe\InDesign\Version 7.5\ja_JP\Scripting Support\7.5\Resources for Visual Basic.tlb
なお、CS5では、
C:\ProgramDataAdobe\InDesign\Version 7.0\ja_JP\Scripting Support\7.0\Resources for Visual Basic.tlb
となっていたものを、omachiさんのご指摘のように
C:\ProgramData\Adobe\InDesign\Version 7.0\ja_JP\Scripting Support\7.0\Resources for Visual Basic.tlb
と手直ししました。
CS5でも、CS5.5でも、
付属のVBSサンプルは、動作しない状態です。
リンクをクリップボードにコピー
コピー完了
なるほど、そうですか。
VBSは実行プログラム(wscript.exeまたはcscript.exe)が CtrateObject("InDesign.Application.CS5_J") などで指定される文字列をレジストリから読み込んで、それから紐付いたタイプライブラリのファイルを読み込んで実行する、と認識していたので、タイプライブラリのファイル名が正しく指定されているかを確認したかったのです。
ところで、わたし、勘違いしてました。
上に書いたものは、 InDesignの外部から実行する場合の話でした。(私はCS5ですが、問題なく動いています。)
問題が発生するのは、外部からの実行ではなくて、スクリプトパネル からの実行ですね?
今確認したところ、CS5のスクリプトパネルから適当なサンプルプログラムをダブルクリックしても何の反応もないですね。
Msgbox "test"
だけのプログラムも反応しません。
これは明らかに必要な何かが欠落しているような状態ですね。ちょっと出直してきます。
リンクをクリップボードにコピー
コピー完了
当方の症状をまとめておきます。
とりあえず、XPなら動作するようです。
CS6では、正常であることを望みたいです。
●CS5
XPの場合
付属サンプルのVBS ⇒ 動作○
外部からの実行⇒ 動作○
Windows7の場合
付属サンプルのVBS ⇒ 動作×
外部からの実行⇒ 動作○
●CS5.5
XPの場合
付属サンプルのVBS ⇒ 動作○
外部からの実行⇒ 動作○
Windows7の場合
付属サンプルのVBS ⇒ 動作×
外部からの実行⇒ 動作×
Vistaは、使っていないので、動作確認していません。
以上です。
リンクをクリップボードにコピー
コピー完了
やっぱりインストーラによるレジストリの設定の不備でした。
タイプライブラリのパス名の指定が違ってます。
誤: C:\ProgramDataAdobe\InDesign\Version 7.0\ja_JP\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
ProgramData と Adobe の間のバックスラッシュが抜けている
に加えて、「Version 7.0」のフォルダ名が違っている。正しくは「Version 7.0-J」です。
これで、私の場合は直りました。
ついでに、本来は
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\InDesign.Application.CS5_J\CLSID
=> {ED36EA7C-9E21-43dc-BF9D-7E1879734358}
HKEY_CLASSES_ROOT\CLSID\{ED36EA7C-9E21-43dc-BF9D-7E1879734358}\TypeLib
=> {0EAE2841-EABD-4550-BC0B-2C5097031493}
HKEY_CLASSES_ROOT\TypeLib\{0EAE2841-EABD-4550-BC0B-2C5097031493}\1.0\0\win32
=> C:\ProgramData\Adobe\InDesign\Version 7.0-J\ja_JP\Scripting Support\7.0\Resources for Visual Basic.tlb
というふうに
つながっていくものだと思いますが、2行目の TypeLib の値が空欄です。でも空欄のままで動いているのが不思議。
ともかく これで修正要望が出せます。
ていうか、Illustrator CS3でも同じことをやっていて(http://www15.ocn.ne.jp/~preopen/vb/making.html#ai_cs3)
再び私に指摘されるというのもどうかと思います。 開発陣は反省すべし。
リンクをクリップボードにコピー
コピー完了
ついでに。ExcelのVisualBasicEditorなどから、参照設定に表示されない問題があります。
これも同じレジストリの問題です。
HKEY_CLASSES_ROOT\TypeLib\{0EAE2841-EABD-4550-BC0B-2C5097031493}\1.0
の(既定)の値が空欄ですが、そこに「Adobe InDesign CS5 Type Library」と入力してください。
これで参照設定に表示されるはずです。
自分のホームページもおいおい、直していきます。
上記の投稿で「直りました」とありますが、正確には「無反応ではなくなりました」です。
スクリプトが実行されようとしていることを確認したものです。
サンプルスクリプトの出来が悪いので、複数バージョンのInDesignがインストールされているとエラーになります。
「InDesign.Application.CS5_J」のように、ちゃんとバージョンを指定しなければいけません。
リンクをクリップボードにコピー
コピー完了
omachiさん、ありがとうございます。
レジストリを手直ししてみましたが、
CS5.5Jでは、改善されないようです。
付属スクリプトの先頭にMsgBoxを入れてみたら、
メッセージボックスが表示されましたが、
そのあと、以下のアラートが出ます。
エラー:ActiveXコンポーネントはオブジェクトを作成できません。:'InDesign.Application.CS5.5_J'
コード:800A01AD
ソース:Microsoft VBScript実行時エラー
VBSは動作しているけど、
CS5.5Jのタイプライブラリをうまく呼び出せないようです。
リンクをクリップボードにコピー
コピー完了
> CS5.5Jでは、改善されないようです。
ということはCS5では改善したという解釈でよろしいですか?
> VBSは動作しているけど、
ということは、 「Resources for Visual Basic.tlb」が正しく認識されているということだと思います。
無反応状態から一歩前進しています。
> ActiveXコンポーネントはオブジェクトを作成できません。:'InDesign.Application.CS5.5_J'
ということはレジストリにこの名称では登録されていないということになります。
CS5 では
HKEY_CLASSES_ROOT\InDesign.Application.CS5_J
というキーが存在 しているのですが、CS5.5では
HKEY_CLASSES_ROOT\InDesign.Application.CS5.5_J
というキーが存在していないようですね。
・InDesign.Application.CS55_J
・InDesign.Application.CS5.5J
・InDesign.Application.CS5.5
などとなっている可能性があります。確認をお願いします。
#私はCS5.5については体験版をXPでテストしただけですので確認できません。
リンクをクリップボードにコピー
コピー完了
仕事場のPCには、CS5.5しか入っていないのですが、
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\InDesign.Application.CS5_J\CLSID\{ED36EA7C-9E21-43dc-BF9D-7E1879734358}
HKEY_CLASSES_ROOT\InDesign.Application.CS5_J\CLSID\{ED36EA7C-9E21-43dc-BF9D-7E1879734358}
インストール時は、こうなっていました。
CS5.5でも、CS5扱いになるようです。
これを、手で以下のように直しましたが、
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\InDesign.Application.CS5.5_J\CLSID\{ED36EA7C-9E21-43dc-BF9D-7E1879734358}
HKEY_CLASSES_ROOT\InDesign.Application.CS5.5_J\CLSID\{ED36EA7C-9E21-43dc-BF9D-7E1879734358}
VBSの動作状況は、以前の述べたとおりです。
CS5は、自宅でないとテストでしないので、
後ほど調べてみます。
リンクをクリップボードにコピー
コピー完了
なかなか状況は厳しいようですね。私も実機があればいろいろテストできるのですが、あいにくそのような環境にありません。
ユーザー同士のやり取りでは限界があるように感じます。
この際、カスタマーサポートトータルに問い合わせてみてはどうでしょうか。色々調べてくれて、Web上で回答がもらえますよ。
カスタマーサポートトータル https://www.adobe.com/cfusion/support/index.cfm?event=portal&loc=ja
サポートポータル(オンライン)からのお問合せ手順 http://kb2.adobe.com/jp/cps/651/6515.html
問い合わせの際はこのページへのリンクを貼っておけば理解してもらえると思います。
なお、「製品への要望 / 不具合報告 フォーム 」 https://www.adobe.com/cfusion/mmform/index.cfm?name=wishform&lang=Japanese
には先日書き込んでありますので、読んでいたら話は速いかも。
私も生半可な知識しかなくてすみません。
リンクをクリップボードにコピー
コピー完了
ありがとうございます。
> CS5.5Jでは、改善されないようです。
ということはCS5では改善したという解釈でよろしいですか?
はい、CS5では、Windows7でも、VBSが動作するようになりました。
Set myInDesign=CreateObject("InDesign.Application.CS5_J")
MsgBox(myInDesign.Documents.Count)
でメッセージボックスが開き、ドキュメントの数が表示されるので、
VBSが動作すると判断しました。
しかし、CS5.5は、レジストリを変更しても動作しません。
結局、
●CS5
XPの場合
付属サンプルのVBS ⇒ 動作○
外部からの実行⇒ 動作○
Windows7の場合
付属サンプルのVBS ⇒ 動作○
外部からの実行⇒ 動作○
●CS5.5
XPの場合
付属サンプルのVBS ⇒ 動作○
外部からの実行⇒ 動作○
Windows7の場合
付属サンプルのVBS ⇒ 動作×
外部からの実行⇒ 動作×
となりました。
>この際、カスタマーサポートトータルに問い合わせてみてはどうでしょうか。
はい、そうします。
結果は、お知らせしたいと思います。
ありがとうございました。
リンクをクリップボードにコピー
コピー完了
上記の問題ですが、下記をレジストリに追加することで解決いたしましたので備忘までにお知らせいたします。
キーを追加する場所は下記キャプチャ画像を参照ください。
(画像をクリックするときれいな画像プレビューが見れるようです)
① InDesign.Application.CS5.5_J
InDesign.Application.CS5.5_J → Adobe InDesign Application
CLSID → {11B39EA8-97C0-48B6-8BD2-4AA6632F8D9E}
② {11B39EA8-97C0-48B6-8BD2-4AA6632F8D9E}
{11B39EA8-97C0-48B6-8BD2-4AA6632F8D9E} → Adobe InDesign Application
LocalServer32 → C:\Program Files (x86)\Adobe\Adobe InDesign CS5.5\InDesign.exe
Programmable → (値の設定なし)
TypeLib → {3F5870BC-3C44-4BC9-A779-84B7C81D89AF}
VersionIndependentProgID → InDesign.Application
③ {3F5870BC-3C44-4BC9-A779-84B7C81D89AF}
1.0 → Adobe InDesign CS5.5_J Type Library
win32 → C:\ProgramData\Adobe\InDesign\Version 7.5-J\ja_JP\Scripting Support\7.5\Resources for Visual Basic.tlb
FLAGS → 0
他は、(値の設定なし)