允许用户选择 "print PDF" 的保存文件路径
Allow user to choose the save file path for "print PDF"
我在 Excel 文件上有一个命令按钮,允许用户通过单击自动执行 "Print PDF" 功能。问题是,目前我只能将文件保存到代码中的指定位置。我想让用户选择他们的保存目录类似于实际保存功能。
这是我目前的代码:
Private Sub PrintPDF_Button_Click()
Dim mySheets As Variant, sh
mySheets = Array("COVER", "SCOPE", "SUMMARY", "Updated Hours EST", "RATES")
Sheets(mySheets).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\sravi\test" & _
".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, openafterpublish:=True
End Sub
使用Application.GetSaveAsFilename
方法。使用返回值作为 Filename
属性,但在保存前检查以确保它不是 False
。
您可以使用的另一种方法是 Application.FileDialog()
方法。如果您愿意,您将能够设置默认保存位置甚至默认文件名。
Dim fileSave As FileDialog
Set fileSave = Application.FileDialog(msoFileDialogSaveAs)
With fileSave
' Your default save location here
.InitialFileName = "C:\Users\sravi\*.pdf"
If .Show = -1 Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=.SelectedItems(1), _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, openafterpublish:=True
End If
End With
分解
您可以使用.InitialFileName
属性设置默认保存路径。如果您有默认文件名,则可以使用它。否则,使用 *.pdf
设置默认文件类型
.InitialFileName = "C:\Users\sravi\*.pdf"
下面一行有两个目的:
显示带有.Show
的对话框
确保用户接受了 .Show = -1
的保存位置
If .Show = -1 Then
最后,您将 return 您的文件路径指向您在这一行中使用的方法:
Filename:=.SelectedItems(1)
我在 Excel 文件上有一个命令按钮,允许用户通过单击自动执行 "Print PDF" 功能。问题是,目前我只能将文件保存到代码中的指定位置。我想让用户选择他们的保存目录类似于实际保存功能。
这是我目前的代码:
Private Sub PrintPDF_Button_Click()
Dim mySheets As Variant, sh
mySheets = Array("COVER", "SCOPE", "SUMMARY", "Updated Hours EST", "RATES")
Sheets(mySheets).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\sravi\test" & _
".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, openafterpublish:=True
End Sub
使用Application.GetSaveAsFilename
方法。使用返回值作为 Filename
属性,但在保存前检查以确保它不是 False
。
您可以使用的另一种方法是 Application.FileDialog()
方法。如果您愿意,您将能够设置默认保存位置甚至默认文件名。
Dim fileSave As FileDialog
Set fileSave = Application.FileDialog(msoFileDialogSaveAs)
With fileSave
' Your default save location here
.InitialFileName = "C:\Users\sravi\*.pdf"
If .Show = -1 Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=.SelectedItems(1), _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, openafterpublish:=True
End If
End With
分解
您可以使用.InitialFileName
属性设置默认保存路径。如果您有默认文件名,则可以使用它。否则,使用 *.pdf
.InitialFileName = "C:\Users\sravi\*.pdf"
下面一行有两个目的:
显示带有
.Show
的对话框
确保用户接受了
.Show = -1
的保存位置
If .Show = -1 Then
最后,您将 return 您的文件路径指向您在这一行中使用的方法:
Filename:=.SelectedItems(1)