C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 21 を表示中)
■8534 / )  Re[3]: Excelが起動できません
□投稿者/ 魔界の仮面弁士 (440回)-(2007/10/02(Tue) 16:26:04)
No8533 (あいえす さん) に返信
> 構文エラーに関しては
> 「'New' をインターフェースで使用することはできません。」

参照設定が間違っていなければ、一応通るはずなのですけれどね。
とりあえずは、
 'VB
 Dim x As Excel.Application = New Excel.ApplicationClass()

 'C#
 Excel.Application x = new Excel.ApplicationClass();
の構文を用いてみてください。
また、「Microsoft Excel 5.0 オブジェクト ライブラリ(Ver.1.0)」は参照しないでください。

> xlApplication.Visible = True の行のエラーは
> 「'System.NullReferenceException' のハンドルされていない例外が test.exe で発生しました。
xlApplication にインスタンスを渡さず、Nothing のままにしているからでしょう。


> Excel 2003形式のファイルを使用したいので
(Excel 2007形式ではなく)Excel 2003形式を扱いたいのですね?

> Microsoft Excel 12.0 Object Libraryだけにしたところ、
Microsoft Excel 12.0 Object Library (1.6) を参照設定すると、同時に
Microsoft Office 12.0 Object Library (2.4) や
Microsoft Visual Basic for Application Extensibility 5.3 (5.3) が
追加される事がありますが、特に問題が無ければ、これらのライブラリは
そのまま設定しておいてください。
(もっとも、最低限必要なのは、Excel 12.0 のライブラリだけです)


> Excel.Application の構文エラーが
> 「型 'Excel.Application'が定義されていません。」
> となりました。
名前空間をインポートしていますか?
Excel 12.0 ライブラリの場合は『Microsoft.Office.Interop』です。


Imports System.Runtime.InteropServices
Imports Microsoft.Office.Interop
Public Module Module1
 Public Sub Main()
  Dim o As Excel.Application = New Excel.ApplicationClass()
  o.Visible = True
  Dim c As Excel.Workbooks = o.Workbooks
  Dim b As Excel.Workbook = c.Add()
  Marshal.ReleaseComObject(b)
  Marshal.ReleaseComObject(c)
  MsgBox("起動完了", MsgBoxStyle.SystemModal)
  'o.Quit()
  Marshal.ReleaseComObject(o)
 End Sub
End Module


> Microsoft Excel 5.0 オブジェクト ライブラリだけにした場合は、最初(5.0と12.0の重複)の時と同じエラーが発生します。
Excel 5.0 のオブジェクト階層は、現在のそれとは異なります。
(なにぶん、Office 95 より前の、Office 4.2 / 4.3 当時の仕様ですし)
互換性の為に残されているだけでなので、使用しないでください。
返信 編集キー/


管理者用

- Child Tree -