VB.net Excel ExportAsFixedFormat 失败 HRESULT 异常:0x80010105 (RPC_E_SERVERFAULT))

2024-03-25

我正在尝试编写一个非常简单的 VB.net 应用程序,它将打开一个 Excel 文件并将其另存为 Excel。

我正在工作的环境如下:

  • Windows 10
  • 视觉工作室 2016
  • 办公室2016

我已成功打开 Excel 工作表并将其保存到另一个位置。但是,当尝试打开 Excel 并另存为 pdf 时,我收到以下错误消息

服务器抛出异常。 (HRESULT 异常:0x80010105 (RPC_E_SERVERFAULT))

查看错误的详细信息,我可以看到以下内容:

System.Runtime.InteropServices.COMException {“服务器抛出异常。(来自 HRESULT 的异常:0x80010105 (RPC_E_SERVERFAULT))”}

错误代码:-2147417851

我用来执行此操作的代码如下:

Dim xlApp As New Excel.Application
    Dim xlWorkBook As Excel.Workbook
    Dim xlWorkSheet As Excel.Worksheet
    xlApp.Visible = False
    xlApp.AlertBeforeOverwriting = False

    Dim sheetname As String = "d:\test\test.xlsx"

    xlWorkBook = xlApp.Workbooks.Open(sheetname)


    xlWorkBook.Activate()
    xlWorkSheet = xlWorkBook.Sheets("Sheet1")
    xlWorkSheet.Activate()
    xlApp.DisplayAlerts = False
 xlWorkSheet.ExportAsFixedFormat(Type:=Excel.XlFixedFormatType.xlTypePDF, Filename:=
    "d:\test\test.pdf", Quality:=Excel.XlFixedFormatQuality.xlQualityStandard _
    , IncludeDocProperties:=True, IgnorePrintAreas:=True, OpenAfterPublish:=
    False)





    xlWorkBook.Close(SaveChanges:=False)
    xlApp.Quit()
    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp) : xlApp = Nothing
    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkBook) : xlWorkBook = Nothing
    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkSheet) : xlWorkSheet = Nothing

Help!

出现问题的原因似乎是 Excel 工作表具有公式,将内容复制并粘贴到新工作表中(仅粘贴特殊值和数字格式)并运行上面的代码有效


将其另存为 .PDF,如下所示:

xlWorkSheet.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, "d:\test\test.pdf")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VB.net Excel ExportAsFixedFormat 失败 HRESULT 异常:0x80010105 (RPC_E_SERVERFAULT)) 的相关文章

随机推荐