タイトル : Re^4: VB6参照設定 投稿日 : 2011/12/04(Sun) 20:42 投稿者 : あいあい
> であれば問題ないように思いますが、エラー発生場所はどのようにして確認されたのでしょうか? > 又、Excel はどの時点で表示しているのでしょうか? > (CommandBars の前に表示させても同じでしょうか?) > 実行環境にもVB6.0 が入っているのなら、IDE 上ではどうなのでしょうか? エラーが起こるPCはユーザーさんのPCでVB6は入っていません。 またユーザーさんのPCでしか再現しない現象なので、試行錯誤がやりにくい状態です。 エラー場所の特定、EXCELの表示に関してですが、 下記のように一つの処理が完了するごとにメッセージをログに出すようにして 特定しました。(gfuncAnalysisLog:ログファイルにメッセージ表示する関数) objXlsGraphSheet.Activate Call gfuncAnalysisLog("Command3") 'ログ出力3 objXlsGraphSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=False Call gfuncAnalysisLog("Command4") 'ログ出力4 objXlsApp.CommandBars("Worksheet Menu Bar").Enabled = True Call gfuncAnalysisLog("Command5") 'ログ出力5 (中略) objXlsApp.Visible = True 'エクセルファイル可視 さらにErrオブジェクトのNumberプロパティをログに表示させています。 エラーが起こるPCにて得たログファイルは 002 2011/12/01 08:10:56 Command1-OK 003 2011/12/01 08:10:56 Command2-OK 004 2011/12/01 08:10:56 Command3-OK 005 2011/12/01 08:10:56 Command4-OK 006 2011/12/01 08:10:56 gfncGraphSave-'~' メソッドは失敗しました: '~' オブジェクトErr.Number=-2147319779 Command5である objXlsApp.CommandBars("Worksheet Menu Bar").Enabled = True でエラーとなったと判断しました。 > 又、開発環境で新規に、CommandBars("Worksheet Menu Bar").Enabled だけを動作させる > だけの EXE を作って試して見ても同様にエラーがでますか? > ( Microsoft Data Formatting Object Library の参照設定はせずに) > > それでも同じなら、実行時バインディングのコードで試したらどうなりますか? ユーザー環境のみで起こる現象なので、試行錯誤がやりにくいですが ・CommandBars の前にEXCEL表示させる。 ・CommandBars("Worksheet Menu Bar").Enabled だけのEXE ・実行バインディングコード を試してみます。 が、これ以外にもVB->EXCELを操作する部分で 開発環境での動作とユーザー環境での動作が異なることがあるので 参照設定の問題ではないかと疑っています。 何度も同じ質問をして申し訳ないのですが、 「Microsoft Office 11.0 Object Library」を参照していなくても 問題ないでしょうか。 よろしくお願いします。 |