2016-04-03 92 views
0

虽然这个问题已经被问到,但我没有找到真正的答案。 我需要以编程方式选择工作簿中的工作表并将它们保存为PDF文件,而无需创建临时工作簿并将选定的工作表复制到该文件中。Excel:将选定的工作表保存为PDF文件

或者,如何创建工作簿而不显示它 - 即在内存中,然后在HD上?这是又可以帮助解决第一个问题...

回答

0

试试这个:

Sub SaveToPdf() 

Dim ws As Worksheet 

Dim sfName As String 

For Each ws In Worksheets 

sfName = ws.Name 
sfName = "C:\Misc\" & sfName & ".pdf" 

     ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ 
     sfName, Quality:= _ 
     xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _ 
     OpenAfterPublish:=False 

Next ws 


End Sub 

你需要做在每张纸上确保您的打印区域首次设置我觉得

+0

我不它的工作原理 - 实际上我确信它不会 - 它如何知道工作簿中的SELECTED工作表要打印?此代码将工作表打印为单独的PDF,这不是我的问题。也许你应该再读一遍...... –

+0

该代码适用于将所有工作表另存为单独的pdf文件。你想将多个工作表保存为一个pdf吗?或者您是否在寻找一种方法来动态选择单个工作表来保存为pdf?如果您始终想保存相同的工作表,则可以在代码中添加“if”语句以检查名称是否与您想要的名称相匹配。 – ShirleyM

相关问题