|
分類:[VB.NET/VB2005 以降]
すみません
先日、エクセルが文字化けする件でアドバイスをいただいて無事に開く事ができるようになったのですが
勉強の為にその後、レイトバインディングでは無い方法(普通の方法になるんですか?)でExcelを開くプログラムでも
テストしてみたくて、ここのサイトの「既存の Excel ブックを開く」のコードをそのまま使ったプログラムを
書いてみたのですが
Imports Microsoft.Office.Interop
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' Excel.Application の新しいインスタンスを生成する
Dim xlApplication As New Excel.Application()
Dim xlBooks As Excel.Workbooks
' xlApplication から WorkBooks を取得する
xlBooks = xlApplication.Workbooks
' 既存の Excel ブックを開く
xlBooks.Open("C:\Users\m-sugimoto\Desktop\エクセルテスト2.xlsx")
' Excel を表示する
xlApplication.Visible = True
'xlBook = xlApplication.Open("C:\Users\m-sugimoto\Desktop\エクセルテスト2.xlsx")
End Sub
End Class
6行目の
xlBooks = xlApplication.Workbooks
この行で
「System.InvalidCastException型
Microsoft.Office.Interop.Excel.ApplicationClassのCOMオブジェクト
をインターフェイス型 Microsoft.Office.Interop.Excel.Applicationに
キャストできません。」
と出ます。
上記のプログラムは仕事場のPCで書いたのですが
なぜか、同じコードを自宅のPCで書いて実行すると、問題なく開きます。
仕事場のPCにはOffice2019が入っており、VisualStudio2019で実行しました。
自宅のPCにはOffice2007が入っており、こちらもVisualStudio2019で実行しました。
仕事場のPCでは参照に Microsoft Excel 16.0 Object Libraly が
自宅のPCでは参照に Microsoft Excel 12.0 Object Libraly が入ってるのですが
このあたりに問題があるのでしょうか。
また御教授いただけると嬉しいです。
|