[.NET] 判斷Excel.Application存在與否

作者: ALLESSANDRO (左手只是輔助)   2021-11-04 16:23:58
請教各位先進:
我接手了一個VB.NET的程式, 要新增將DataGridViwe的內匯出到Excel
首先我先判斷是否安裝Excel:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles
Button1.Click
Dim officeType As System.Type = Type.GetTypeFromProgID("Excel.Application")
If officeType Is Nothing Then
MsgBox("N")
Else
MsgBox("Y")
End If
End Sub
https://imgur.com/s4NwEYi
原來的程式是將這個組件當作類別庫呼叫
 https://imgur.com/TU8GvL0
執行時按下Button1時MsgBox會顯示 N
但若我將該組件改為應用程式(其他地方完全一樣)
 https://imgur.com/sMXxfbn
單獨執行該執行檔後 按下Button1 MsgBox卻顯示 Y
電腦裡是有裝Excel的
請問是不是這個專案哪裡的設定要修改才能讓這個組件被當作類別庫呼叫時
Type.GetTypeFromProgID("Excel.Application") 的回傳值才不會是 Nothing
謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com