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

タイトル Re^7: VB6参照設定(修正)
投稿日: 2011/12/07(Wed) 13:29
投稿者魔界の仮面弁士
> >    xlApp.CommandBars("Worksheet Menu Bar").Enabled = True
例の Microsoft Office X.X Object Library を追加したうえで、
   'objXlsApp.CommandBars("Worksheet Menu Bar").Enabled = True
  
   Dim bars As Office.CommandBars
   Set bars = xlApp.CommandBars
  
   Dim bar As Office.CommandBar
   Set bar = bars("Worksheet Menu Bar")
  
   bar.Enabled = True
に変更した場合、どの段階でエラーになりますか?


> 「Microsoft Office 11.0 Object Library」を参照していなくても
・CommandBar オブジェクト
・FileSearch オブジェクト
・Assistant オブジェクト
を使う場合は、MSO.DLL を参照していた方が良いとは思います。


また、開発環境または実行環境に複数バージョンの Office が導入されている場合や、
実行環境と開発環境の Office バージョンが異なる場合においては、
 objXlsApp.CommandBars("Worksheet Menu Bar").Enabled = True
の表記を避けた方が無難そうです。

混在環境で実行する場合は、バージョン間の問題が発生しそうな箇所に限って
レイトバインディングで処理させるか、もしくは上記のように
個別のバージョン固有型に変換させた上で利用することで改善できる場合があります。


といっても、今回の事象が混在環境によるものかどうかは分かりませんし、
MSO.DLL のバージョン別の差異を調べたことも無いので、その有効性については
確証が持てませんが。


> > Data Formatting Object Library に起因していると言う事はありませんか?
> Data Formatting Object Library はどういうときに必要なのでしょうか。
VB6 のデータバインド機能を使っているときの書式設定に使われるライブラリです。
これが必要になることは稀だと思いますが、それを必要としているかどうかは
個々のプロジェクトを見てみないことには分かりません。

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

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