vb2010でExcelをオープンできない?


vb2010から既存のExcelをオープンするプログラムを、色々なサイトのサンプルを参考にして作りました。開発環境(VisualStudio)および開発用マシンに実行モジュールをインストールして動かすと、問題なく動作します。しかし、別のマシン(WinXP,Win7:両方テスト)にインストールすると「オブジェクト参照がオブジェクトインスタンスに設定されていません」というエラーが発生します。エラー箇所は、下記のコーディングのファイルオープンのステートメントです。
別マシンでは、フォーム系の別プログラムは正常に動作しています。Windows Updateで、最新の.NetFrameworkはインストールしているつもりです。Excelを制御する何かのコンポーネントのようなものが足りないのか?などと、中途半端な知識しかなく、問題を解決できません。
有識者の方のサポートを是非お願いします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/09/11 17:01:28
  • 終了:2012/09/14 09:22:12
id:rarachojiro

以下が実際のコーディング内容です。

Imports Excel = Microsoft.Office.Interop.Excel

Imports Microsoft.Office.Interop
Imports Microsoft.Office.Core
Imports System.Runtime.InteropServices

Public Class ExcelCtl

Public xlApp As New Excel.Application
Public xlBooks As Excel.Workbooks
Public xlBook As Excel.Workbook
Public xlSheets As Excel.Sheets
Public xlSheet As Excel.Worksheet
Public xlClose As Boolean

Public Function ExcelOpen(ByVal FilePath As String, ByVal SheetName As String)

''Excel のオープン処理用プロシージャ

On Error GoTo ErrHandler
Dim xlsstat(6) As Object
xlClose = False '起動中は、ユーザが Excel を閉じれないように
xlApp = New Excel.Application

'Excel の WorkbookBeforeClose イベントを取得
AddHandler xlApp.WorkbookBeforeClose, AddressOf xlApp_WorkbookBeforeClose

xlBooks = xlApp.Workbooks

'既存のファイルを開く場合
xlBook = xlBooks.Open(FilePath) <=== ●●● このステートメントでエラー発生 ●●●
xlSheets = xlBook.Worksheets
xlSheet = DirectCast(xlSheets(SheetName), Excel.Worksheet)

xlApp.Visible = False

xlsstat(1) = xlApp
xlsstat(2) = xlBooks
xlsstat(3) = xlBook
xlsstat(4) = xlSheets
xlsstat(5) = xlSheet
xlsstat(6) = xlClose

Return xlsstat
Exit Function

ErrHandler:
MsgBox(FilePath & ":" & SheetName)
End Function

End Class

ベストアンサー

id:papa-tomo No.1

パパトモ回答回数362ベストアンサー獲得回数1072012/09/11 19:54:40

Excelのバージョンが違うのが原因だと思います。

開発環境と実行環境のExcelのバージョンを合わせるか、ExcelObjectLibralyのバージョンを実行環境のExcelのバージョンに合わせれば直るのではないでしょうか。

その他の回答(1件)

id:papa-tomo No.1

パパトモ回答回数362ベストアンサー獲得回数1072012/09/11 19:54:40ここでベストアンサー

Excelのバージョンが違うのが原因だと思います。

開発環境と実行環境のExcelのバージョンを合わせるか、ExcelObjectLibralyのバージョンを実行環境のExcelのバージョンに合わせれば直るのではないでしょうか。

id:ken3memo No.2

ken3memo回答回数244ベストアンサー獲得回数762012/09/12 23:22:15

>開発用マシンに実行モジュールをインストールして動かすと、問題なく動作します。

間違えました。すみません。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません