タイトル : Globalオブジェクトのエラーについて 投稿日 : 2014/06/18(Wed) 10:26 投稿者 : yuki
いつも参考にさせて頂いております。 自分では原因が不明な問題が発生し、何かアドバイスを頂けないかと思い投稿させて頂きました。 今までVB6.0を使用して開発していましたが、現在使用している中で問題が発生してきた為 VS2008を使ってプログラムのコンバートを行っています。 今回VBからExcelを起動する際にエラーが発生し、Excelが起動しない状況になりました。 表示されるエラーメッセージは、下記の通りです。 実行時エラー '1004' 'WorkSheets'メソッドは失敗しました;'_Global'オブジェクト ただ開発環境ではこのエラー発生せず、使用環境でのみ発生します。 ○開発環境 ・Windows7 64bit ・Visual Basic2008 ・Office2010 ○使用環境 ・Windows7 64bit ・Office2010 プログラムは次のようになっています。 Dim xlApp As New Excel.Application Dim xlBooks As Excel.Workbooks = xlApp.Workbooks Dim xlBook As Excel.Workbook = xlBooks.Open(pUserXltName) ’指定のxltファイルを起動 Dim xlSheet As Excel.Worksheet = CType(xlBook.Worksheets("Sheet4"), Excel.Worksheet) 'Sheet4を指定 xlApp.Visible = True xlSheet.Cells(1, 1).Value = "test" '文字をセルA1に入れる 実際には”test”ではなく、あるフォルダのフルパスを入れます。 xlSheet.Activate() 'Sheet4をアクティブにしてxltファイル内にあるマクロを実行 System.Runtime.InteropServices.Marshal.IsComObject(xlSheet) 'xlSheet の解放 xlBook.Close() System.Runtime.InteropServices.Marshal.IsComObject(xlBook) System.Runtime.InteropServices.Marshal.IsComObject(xlBooks) xlApp.Quit() 'Excelを閉じる System.Runtime.InteropServices.Marshal.IsComObject(xlApp) 'xlApp を解放 ”WorkSheets'メソッドは失敗しました”という事から、”Sheet4”を指定している行に問題があると考えています。参照に間違いがあるのでしょうか。 よろしくお願い致します。 |