2016-01-05 40 views
0
''''''''Public Variables Module''''''' 

    Public oXL As Microsoft.Office.Interop.Excel.Application 
    Public oWB As Microsoft.Office.Interop.Excel.Workbook 
    Public oSheet As Microsoft.Office.Interop.Excel.Worksheet 

''''''''End Public Variables Module'''''''' 


'''''''''Form1.vb''''''''''' 


     oXL = New Excel.Application 
     oXL.Visible = True   

oWB = oXL.Workbooks.Add 


     oSheet = oWB.ActiveSheet 

     oWB.Worksheets(1).range("a1").select() 
     oWB.Worksheets(1).Paste() 

     oSheet.UsedRange.Copy() 
     oWB.Worksheets.Add() 
     oWB.Worksheets("Sheet2").range("a1").select() 
     oWB.Worksheets("Sheet2").PasteSpecial(Transpose:=True) 


'''''''''End Form1.vb''''''''''' 

它拍擊PasteSpecial的符合錯誤:複製Excel中的數據,並調換到另一個工作表在VB.NET

其他信息:從HRESULT異常:0x800A03EC

我試着跳過範圍(「a1」)。選擇sheet2上的步驟無濟於事。

我應該補充一點,我將數據粘貼到第一張工作表之前的原因是重新複製並粘貼到第二張,這是因爲數據已經在外部應用程序的剪貼板上,並且我認爲它不是'當它是來自外部源的數據時,可以將其轉置到初始粘貼上。

如果我將pastespecial更改爲普通粘貼,它工作正常。所以我假設我的pastespecial命令有問題。

我曾嘗試在運行應用程序之前將多種形式的數據複製到我的剪貼板,因此它與特定的不可轉置數據集無關。

我也證實,它實際上是在複製之前選擇使用的範圍(與整張紙相比)。

+0

有一些錯誤信息是更grokkable比HResult的等? –

+0

我會如何解決這個問題?我發現的最多的是「一個system.runtime.interopservices.COMException被拋出」,然後它顯示該錯誤。 如果錯誤不明確,那麼該代碼行中的任何內容都會跳出來,因爲可能導致問題的錯誤? – user47368

+0

正弦粘貼工作(而不是pastespecial),後者給你你需要什麼?我正在使用C#和Excel,並且我根本不瞭解VB,但「Transpose:= True」對我來說看起來很奇怪 - 它真的應該具有那種類似Pascal的語法嗎? –

回答

0

想通了,以指定範圍,以及需要:

oWB.Worksheets("Sheet2").range("a1").PasteSpecial(Transpose:=True) 
相關問題