如何使用VBA显示Excel Publish as PDF或XPS对话框?

时间:2015-04-22 07:23:30

标签: excel-vba vba excel

我知道我可以使用以下VBA来显示常规Excel(2010)“另存为”对话框(已关闭),但如何显示特定的“发布为PDF或XPS”对话框?此对话框将文件类型限制为PDF和XPS,并且是我之后的文件类型,但在XlBuiltInDialog枚举中似乎没有枚举它。

Application.Dialogs(xlDialogSaveAs).Show

通过GUI访问File - >可以访问此特定对话框。保存&发送 - >创建PDF / XPS文档 - >创建PDF / XPS。

2 个答案:

答案 0 :(得分:1)

我有一个可以为你工作的解决方法。

1)创建一个userform,询问用户是否要保存为XPS或PDF。在用户窗体上创建2个按钮,一个显示文本“XPS”,另一个显示文本“PDF”。

2)为每个按钮添加代码,这样当按下时,它将以用户指定的格式保存文档。

在包含代码的模块中:

userform_save.Show

在xps按钮中:

Private Sub cb_xps_Click()
    ActiveSheet.ExportAsFixedFormat Type:=xlTypeXPS, Filename:=filepath & xpsName
    Unload Me
End Sub

在pdf按钮中:

Private Sub cb_pdf_Click()
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=filepath & pdfName
    Unload Me
End Sub

让我知道你的想法。

答案 1 :(得分:0)

经过一些调查后,我仍无法找到使用Application.Dialogs显示此对话框的方法,但我可以使用此方法显示:

Application.CommandBars.ExecuteMso "FileSaveAsPdfOrXps"

适用于Excel 2007,2010和2013。