tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^9: VB6参照設定(修正)
投稿日: 2011/12/10(Sat) 13:37
投稿者魔界の仮面弁士
> Set bars = xlApp.CommandBars で
> 「実行時エラー '-2147221163 (80040155)':
> '~' メソッドは失敗しました: '~' オブジェクト

とすると、「CommandBars プロパティの読み取りが失敗している」か
「CommandBars 型への型変換が失敗している」のいずれかのようです。

Dim objCmd As Object
Set objCmd = xlApp.CommandBars  'A
Set bars = objCmd               'B

にした場合、失敗するのは A の行と B の行のいずれでしょうか。

B だとすると、別のクラスまたはインターフェイスで受ける必要がありそうです。
(もしくは、Object 型のまま、以降の処理を続けるか)
失敗する環境のタイプライブラリの内容が分からないので、具体的に
どのような型にすれば良いのかは分かりませんけれども。

一方、A の側でエラーになるとすると、CommandBars のディスパッチID が
変更されている端末があるのかもしれません。その場合には、
 Set obj = CallByName(xlApp, "CommandBars", vbGet)
のようにするか、もしくは
 Dim objApp As Object
 Set objApp = xlApp
 Set objCmd = objApp.CommandBars
のように、プロパティ名で名前解決させれば動作するかも…?

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。