【发布时间】:2011-07-06 22:53:12
【问题描述】:
我有可以将 xls 转换为 pdf 的工作代码,但是,该代码可以转换整个工作簿,我真的只需要从工作簿中选择一个工作表,但我不知道该怎么做。
我目前使用的代码是:
Dim fileName As String = "filepath\filename"
Dim xlsApp = New Microsoft.Office.Interop.Excel.Application
xlsApp.ScreenUpdating = False
Dim xlsBook As Microsoft.Office.Interop.Excel.Workbook
Dim paramExportFormat As XlFixedFormatType = XlFixedFormatType.xlTypePDF
Dim paramExportQuality As XlFixedFormatQuality = XlFixedFormatQuality.xlQualityStandard
Dim paramOpenAfterPublish As Boolean = False
Dim paramIncludeDocProps As Boolean = True
Dim paramIgnorePrintAreas As Boolean = True
Dim paramFromPage As Object = Type.Missing
Dim paramToPage As Object = Type.Missing
xlsBook = xlsApp.Workbooks.Open(fileName & ".xls", UpdateLinks:=False, ReadOnly:=False)
xlsBook.ExportAsFixedFormat(paramExportFormat, fileName & ".pdf", paramExportQuality, paramIncludeDocProps, paramIgnorePrintAreas, paramFromPage, paramToPage, paramOpenAfterPublish)
xlsBook.Close(SaveChanges:=False)
xlsApp.Quit()
我需要在代码中的哪个位置指定工作簿中的工作表?请注意,我需要这样做,以便根据输入到应用程序中的选项,工作表会发生变化,尽管我认为这不会有什么不同,但我想我会以任何一种方式提及它。
【问题讨论】:
-
可以使用
paramFromPage,paramToPage参数吗? -
我不知道,但我肯定会尝试,但不确定这会影响工作簿中的实际工作表。
-
如果它总是打印整个工作簿,并且您想要的工作表在特定页面上,并且工作簿大小从未改变,您应该能够只指定要打印的页面(a很多假设,我知道)。
-
确实有效,我只是将它们更改为 Integer 并为第 1 页指定了两者,它只转换了第一个工作表(第一页)。
-
我知道这是一个老问题,但您不记得您是如何指定工作表的吗?