Dim fileSaveName As Variant fileSaveName = Application.GetSaveAsFilename(InitialFileName:=ActiveDocument.Name, _ FileFilter:="PDF Files (*.pdf), *.pdf", Title:="Save As PDF")
时间: 2024-02-05 12:12:08 浏览: 139
这段代码是 VBA 代码,用于将当前活动文档另存为 PDF 文件。
首先,使用 `Application.GetSaveAsFilename` 方法弹出文件保存对话框,并将返回的文件名保存在 `fileSaveName` 变量中。其中,`InitialFileName` 参数指定了保存文件的初始文件名,这里使用了当前文档的名称;`FileFilter` 参数指定了文件类型过滤器,这里只显示 PDF 文件;`Title` 参数指定了文件保存对话框的标题。
接下来,可以使用 `ExportAsFixedFormat` 方法将当前文档另存为 PDF 文件。例如:
```
If Not fileSaveName = False Then
ActiveDocument.ExportAsFixedFormat OutputFileName:=fileSaveName, _
ExportFormat:=wdExportFormatPDF, OpenAfterExport:=True, _
OptimizeFor:=wdExportOptimizeForPrint
End If
```
其中,`OutputFileName` 参数指定了 PDF 文件的保存路径和文件名;`ExportFormat` 参数指定了导出文件的格式,这里为 PDF;`OpenAfterExport` 参数指定了导出后是否自动打开文件;`OptimizeFor` 参数指定了导出文件的优化选项,这里为打印优化。
相关问题
Word VBA另存为PDF,可选储存位置
以下是一个Word VBA的示例代码,可以将当前Word文档另存为PDF,并允许用户选择储存位置:
```
Sub SaveAsPDF()
Dim fileSaveName As Variant
fileSaveName = Application.GetSaveAsFilename(InitialFileName:=ActiveDocument.Name, _
FileFilter:="PDF Files (*.pdf), *.pdf", Title:="Save As PDF")
If fileSaveName <> False Then
ActiveDocument.ExportAsFixedFormat OutputFileName:=fileSaveName, _
ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, _
Range:=wdExportAllDocument, Item:=wdExportDocumentContent, IncludeDocProps:=True, _
KeepIRM:=True, CreateBookmarks:=wdExportCreateNoBookmarks, _
DocStructureTags:=True, BitmapMissingFonts:=True, UseISO19005_1:=False
End If
End Sub
```
当运行此宏时,会打开一个文件保存对话框,允许用户选择PDF的储存位置和文件名。如果用户取消了保存,则不会创建PDF文件。如果用户选择了保存,Word会将当前文档另存为PDF格式,并将其储存在所选位置。
阅读全文