EXCEL VBA 将工作薄内所有工作表存为一个PDF文件

另存的PDF文件名同工作薄文件名,存在位置同工作薄位置... 另存的PDF文件名同工作薄文件名,存在位置同工作薄位置 展开
 我来答
19028452
2019-08-14 · TA获得超过536个赞
知道小有建树答主
回答量:1046
采纳率:59%
帮助的人:306万
展开全部

可以通过录制宏得到一段代码,稍加修改后即可使用,如下图示:


代码:

Option Explicit

Sub EtoPDFs()

'

'另存为PDF

'   '全选工作表

    Sheets.Select 

   '另存为PDF文件‘ThisWorkbook.Name’部分因为不知道你的工作簿后缀是什么,否则可以通过mid或者left函数修改保存的名字

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

        ThisWorkbook.Path & "\" & ThisWorkbook.Name & ".pdf", Quality _

        :=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _

        OpenAfterPublish:=True    

End Sub

追问
工作薄后缀名是:xlsm
追答
那就把代码中的另存为部分更改为:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 5) & ".pdf", Quality _
:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
其实也就是利用Excel自带的另存为PDF功能转存为PDF文件
恨水云无2
2019-08-14 · 超过10用户采纳过TA的回答
知道答主
回答量:29
采纳率:50%
帮助的人:8.3万
展开全部
Sub test1()
Dim a
a = Split(ThisWorkbook.Name, ".")(0)
ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & a
End Sub
"a=”就是计算工作簿名称,可以自己定义,这个就是取使用这个代码的工作簿的名称
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雨禾小店
2019-12-10 · TA获得超过315个赞
知道答主
回答量:73
采纳率:100%
帮助的人:8.3万
展开全部
选择另存为-保存类型选择PDF,在下面的【选项】里选择 发布 整个工作簿,即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一口锡矿aX
2019-08-14 · 贡献了超过408个回答
知道答主
回答量:408
采纳率:5%
帮助的人:35.5万
展开全部
可以,我能写!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式