Office開発ツールを使用してVisual StudioからExcelと通信しようとしていますが、System._comobjectオブジェクトをMicrosoft.Officeにキャストできないようです。 Tools.Excelタイプ:Office開発ツール:System._ComobjectをExcelタイプにキャストできません
Private Sub ThisAddIn_Startup() Handles Me.Startup
Me.Application.Workbooks.Add()
Me.Application.Worksheets.Add()
Dim sheet2 = Me.Application.Worksheets.Item(1)
Dim cell = sheet2.range("A2")
cell.Value = sheet2.GetType.ToString()
Dim tmpSheet As Microsoft.Office.Tools.Excel.Worksheet = Me.Application.Worksheets.Item(1)
End Sub
私はこのコードを実行すると、セルA2は「System._ComObject」が含まれしかし、ワークシートの型にキャストするとき、私は例外を取得します。例外は次のとおりです。
Unable to cast COM object of type 'System.__ComObject' to interface
type 'Microsoft.Office.Tools.Excel.Worksheet'. This operation failed
because the QueryInterface call on the COM component for the interface with
IID '{297DC8D9-EABD-45A1-BDEF-68AB67E5C3C3}' failed due to the following
error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).
私はこれがここのように、多くの場合、間違ったregisteryキーによるものであることを認識しています: unable to cast COM object of type 'microsoft.Office.Interop.Excel.ApplicationClass' to 'microsoft.Office.Interop.Excel.Application'"
しかし、私は一つだけregisteryキーを持って、それを除去し、事務所自体が戻ってそれを置きますそれは正しい場所だと思います。
誰も私がこれを解決する方法を知っていますか? 私はVisual Studio 2015とoffice 2013 Standardを英語で使用します。 ありがとうございます!
あなたも、20の大ハンマーでこれをキャストすることはできません、それはMicrosoft.Office.Interop.Excel.Worksheetでなければなりません。ツールではありません。 –
_20スレッジハンマー_は私の一日を作った。私の善良な先生、ありがとう。 –