2013-07-03 139 views
1

我已經通過各種職位,無法找出我的問題。Excel運行時錯誤13

我有一個COM對象,生成一個Excel.Range的數據,並把它交給一個Excel宏。然後將其設置爲Variant,然後用它填充範圍。非常簡單,這是工作,但現在不是我不明白爲什麼。

C#通過設置引起我的錯誤的Variant來傳回正確的數據。

任何想法?

的代碼如下:

Dim rangeData As Variant 
rangeData = factory.Build(buildType) 

Worksheets(sheet).Activate 
Worksheets(sheet).range("A1:Z10000").Value = rangeData 

工廠對象是我的C#的COM對象。

回答

0

如果你的COM對象返回一個數組,你的rangeData可能應該是一個Variant類型的數組。

試圖聲明rangeData這樣(注意括號中):

Dim rangeData() as Variant 
+0

如果I#'d所提到的C#回報和Excel.Range對象可能是有益的。所以將變量設置爲數組並沒有什麼區別。我也嘗試將Variant變量設置爲一個範圍對象。 –

+0

嗨,它的Microsoft.Office.Interop.Excel.Range –

+0

然後,你可能想嘗試範圍的複製方法:'rangeData.Copy目標:=工作表(「表」)。範圍(「A1:Z10000」)' - 你需要declar erangeData作爲範圍這個 –