首页 > 解决方案 > VB.Net PasteSpecial 错误 Excel Office 365

问题描述

我正在尝试将大量数据集从一个来源粘贴到另一个来源。它工作正常。突然它开始抛出以下错误。请指教。

这让我抓狂...

    Dim CR As Range = xlsSheet.Range(position)
    xlsSheet.PasteSpecial(CR, False, False, Type.Missing, Type.Missing, Type.Missing, True)
    GC.WaitForFullGCComplete()

我收到以下错误:

System.Runtime.InteropServices.COMException HResult=0x800A03EC Message=HRESULT 异常:0x800A03EC Source=ExcelLib StackTrace:在 Microsoft.Office.Interop.Excel._Worksheet.PasteSpecial(对象格式,对象链接,对象 DisplayAsIcon,对象 IconFileName,对象 IconIndex,对象 IconLabel,对象 NoHTMLFormatting

标签: .netvb.net

解决方案


我找到了克服上述错误的解决方案。

  • 重新启动你的 Excel
  • 如下所述更改您的代码:

代码

Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim copyRange As Range
Dim destRange As Range
ws1 = xlsWB.Sheets(srcSheet)
ws2 = xlsWB.Sheets(destSheet)
copyRange = ws1.Range(srcRange)
destRange = ws2.Range(position)
GC.WaitForPendingFinalizers()
ws2.Select()
copyRange.CurrentRegion.SpecialCells(XlCellType.xlCellTypeVisible).Copy(Destination:=destRange)
GC.WaitForFullGCComplete()
ws1 = Nothing
ws2 = Nothing


推荐阅读