タイトル : 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 のデータバインド機能を使っているときの書式設定に使われるライブラリです。 これが必要になることは稀だと思いますが、それを必要としているかどうかは 個々のプロジェクトを見てみないことには分かりません。 |