2016-05-03 30 views
0

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を英語で使用します。 ありがとうございます!

+2

あなたも、20の大ハンマーでこれをキャストすることはできません、それはMicrosoft.Office.Interop.Excel.Worksheetでなければなりません。ツールではありません。 –

+0

_20スレッジハンマー_は私の一日を作った。私の善良な先生、ありがとう。 –

答えて

0

Apperantly私は型を使用するために必要な:

Microsoft.Office.Interop.Excel.Worksheet 

代わりの

Microsoft.Office.Tools.Excel.Worksheet 
関連する問題