|
分類:[VB.NET (Windows)]
VB.NET 2003でエクセルのワークシートにデータを書き込み、印刷するプログラムを作成しました。 その一部分を例として記します。
Dim oExcel As Excel.Application Dim oBook As Excel.Workbook Dim oSheet As Excel.Worksheet oExcel = CreateObject("Excel.Application") oBook = oExcel.Workbooks.Open(Path & "○○○○.xls") oSheet = oBook.Worksheets(1) oSheet.Cells(2, 22) = "例題" oSheet.PrintOut() oBook.Close(SaveChanges:=True) oSheet = Nothing oBook = Nothing oExcel.Quit() oExcel = Nothing
配布用にプロジェクト出力(プライマリー出力)したところ、次のメッセージが出ました。
--------------------------------------------------------------------------- 次のファイルは自動的に判断できない依存関係を持っている可能性があります。 プロジェクトにすべての依存関係が追加されていることを確認して下さい。 c:\program files\common files\microsoft shared\office10\mso.dll c:\program files\microsoft office\office10\excel.exe ----------------------------------------------------------------------------
実行環境のパソコンで上記のファイルが存在するのを確認し、依存関係を「除外」にして インストールし、実行したところ、下記エラーで印刷されませんでした。 又、依存関係を除かなくても結果は同じでした。 尚、開発環境のパソコンでは正常に印刷されます。(同じインストーラで)
実行環境に問題があるのでしょうか、正常に印刷させる方法をご存じの方ご教唆下さい。
************** 例外テキスト ************** System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。 at Excel.Workbooks.Open(String Filename, Object UpdateLinks, Object ReadOnly, Object Format, Objct Password, Object WriteResPassword, Object IgnoreReadOnlyRecommended, Object Origin, Object Delimiter, Object Editable, Object Notify, Object Converter, Object AddToMru, Object Local, Object CorruptLoad) at ××××.Form1.Print_Excel() at ××××.Form1.ToolBar1_ButtonClick(Object sender, ToolBarButtonClickEventArgs e) at System.Windows.Forms.ToolBar.OnButtonClick(ToolBarButtonClickEventArgs e) at System.Windows.Forms.ToolBar.WmReflectCommand(Message& m) at System.Windows.Forms.ToolBar.WndProc(Message& m) at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** 読み込まれたアセンブリ ************** 以下、省略
|