Java把表格以pdf格式导出_将一些表格从Excel工作簿导出为PDF

我很惊讶你的代码首先运行:)你应该有一个错误 run time error '13', type mismatch

Sheets 和 Worksheets 是Excel中的两个不同的东西

Worksheets 集合是指定或活动工作簿中所有Worksheet对象的集合 . 每个Worksheet对象代表一个工作表 . 而另一方面, Sheets 集合不仅包括工作表集合,还包括其他类型的工作表,包括图表工作表,Excel 4.0宏工作表和Excel 5.0对话框工作表 .

因此,如果您将对象声明为 Worksheet

Dim s As Worksheet

然后确保循环时循环访问正确的集合

For Each s In ThisWorkbook.Worksheets

并不是

For Each s In ThisWorkbook.Sheets

否则你会得到 run time error '13', type mismatch

FOLLOWUP (Based on Comments)

@Siddharth:1 . 是的,我想导出以名称“Chart”结尾的图表 . 2.我希望所有这些图表都在一个PDF中,PDF的名称应该是“原始”文件名 . (我将不得不将最终的PDF文件保存在不同的位置,这样文件就不会重叠了 . ) - datacentric

Option Explicit

Sub Sample()

Dim ws As Object

Dim strPath As String, OriginalName As String, Filename As String

On Error GoTo Whoa

'~~> Get activeworkbook path

strPath = ActiveWorkbook.Path & "\"

'~~> Get just the name without extension and path

OriginalName = Left(ActiveWorkbook.Name, (InStrRev(ActiveWorkbook.Name, ".", -1, vbTextCompare) - 1))

'~~> PDF File name

Filename = strPath & OriginalName & ".pdf"

'~~> Loop through Sheets Collesction

For Each ws In ActiveWorkbook.Sheets

'~~> Check if it is a Chart Sheet and also it ends in "Chart"

If ws.Type = 3 And UCase(Right(Trim(ws.Name), 5)) = "CHART" Then

ws.Visible = True

Else

ws.Visible = False

End If

Next ws

'~~> Export to pdf

ActiveWorkbook.ExportAsFixedFormat xlTypePDF, Filename

LetsContinue:

Exit Sub

Whoa:

MsgBox Err.Description

Resume LetsContinue

End Sub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值