将范围导出为 PDF 而不保存
Posted
技术标签:
【中文标题】将范围导出为 PDF 而不保存【英文标题】:Export range to PDF without saving 【发布时间】:2019-03-08 04:46:40 【问题描述】:我发现了一些有效的 VBA 脚本:
Sub ExportToPDF()
With Sheets("Results").Range("B10:J100")
.ExportAsFixedFormat _
Type:=xlTypePDF, _
FileName:="C:\Export.pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End With
End Sub
我仍在学习 VBA,我实际上不需要将范围保存为单独的文件,我只是希望将所选范围作为打开的 PDF 发布。
我不知道如何修改上面的代码
【问题讨论】:
你试过那个代码了吗?你说你想要什么就是什么。 “我实际上不需要将该范围保存为单独的文件,我只是希望将所选范围作为打开的 PDF 发布” ...嗯......所以你的意思是你可以让PDF按预期显示,但你不想保留文件'Export.pdf'?我认为您唯一的做法是创建文件,然后在完成后将其删除...请参见此处:***.com/q/67835/3451115 你不能直接发布到 PDF 查看器,因为其他 cmets 也解释了文件需要保存然后打开,如果你不想要它永久然后在End With
你之后删除它可以通过将其放在那里:kill("C:\Users\tjb1\Desktop\Export.pdf")
或使用其他一些方法,如此处列出的 FileSystemObject 方法:***.com/questions/67835/deleting-a-file-in-vba
问题是这个excel文件会被多个用户使用,所以每个用户的FileName路径都不一样
所以把它保存到每个人都可以使用的网络共享...?
【参考方案1】:
之后
End With
在您的代码中,您可以添加
CreateObject("Shell.Application").Open ("C:\Users\tjb1\Desktop\Export.pdf")
该代码对我有用。
祝你好运!
【讨论】:
但是 VBA 代码已经在这里打开了文件:OpenAfterPublish:=True
【参考方案2】:
要导出为 PDF,必须将文件保存到驱动器。对于将由多个用户使用的电子表格,VBA 脚本中的FileName
必须是所有用户都可以访问的通用驱动器。
【讨论】:
以上是关于将范围导出为 PDF 而不保存的主要内容,如果未能解决你的问题,请参考以下文章
有啥方法可以将 Kivy 相机照片保存为 base64 而不将其导出为 png?