Word VBA另存为PDF,可选储存位置
时间: 2024-01-16 22:05:29 浏览: 27
以下是一个简单的 Word VBA 代码,可以实现将当前的 Word 文档另存为 PDF,并且可以让用户选择储存位置:
```
Sub ExportAsPDF()
Dim sPath As String
Dim sFileName As String
'获取用户选择的储存位置和文件名
With Application.FileDialog(msoFileDialogSaveAs)
.Title = "保存为PDF"
.FilterIndex = 2
If .Show = True Then
sPath = Left(.SelectedItems(1), InStrRev(.SelectedItems(1), "\"))
sFileName = Mid(.SelectedItems(1), InStrRev(.SelectedItems(1), "\") + 1)
Else
Exit Sub
End If
End With
'将当前文档另存为PDF
ActiveDocument.ExportAsFixedFormat _
OutputFileName:=sPath & sFileName & ".pdf", _
ExportFormat:=wdExportFormatPDF, _
OpenAfterExport:=True, _
OptimizeFor:=wdExportOptimizeForPrint, _
Range:=wdExportAllDocument, _
From:=1, _
To:=1, _
Item:=wdExportDocumentContent, _
IncludeDocProps:=True, _
KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, _
DocStructureTags:=True, _
BitmapMissingFonts:=True, _
UseISO19005_1:=False
End Sub
```
当代码执行到 `With Application.FileDialog(msoFileDialogSaveAs)`时,会弹出一个文件对话框,让用户选择储存位置和文件名。如果用户选择了储存位置并点击了“保存”按钮,则代码会将当前的 Word 文档保存为 PDF 格式,文件名为用户选择的文件名加上“.pdf”后缀。如果用户取消了文件对话框,则代码会直接退出。
注意,此代码是将整个文档都保存为 PDF,如果需要只保存部分内容,可以修改 `Range` 参数的值。另外,此代码只适用于 Word 2010 及以上版本。