Application.FileDialog(msoFileDialogSaveAs),带.pdf作为Filter

Cap*_*ABC 3 excel vba excel-vba

我希望让用户选择他们导出的PDF文件的路径和文件名.

我创建了以下内容来显示SaveAs对话框:

Sub Test3()

    Set myFile = Application.FileDialog(msoFileDialogSaveAs)
    With myFile
    .Title = "Choose File"
    .AllowMultiSelect = False
    .ButtonName = "&Save As"
    .initialFilename = "Export"
    .Title = "Save PDF as"
    If .Show <> -1 Then
    MsgBox "You have cancelled"
    Exit Sub
    End If
    FileSelected = .SelectedItems(1)
    End With


    End Sub
Run Code Online (Sandbox Code Playgroud)

FileSelected稍后将值输入pdf导出代码.

我想在上面的FileSave对话框中添加一个过滤器,以便它只显示PDF作为文件保存类型.

目前最终的价值FileSelected是"Driveletter:/ Folder/Name.xlsm ",所以当我将它输入pdf导出时,它会保存带有xlsm扩展名的pdf.

我试过.Filter.Clear,然后.Filters.Add没有太多运气.

任何帮助将非常感谢!

Cap*_*ABC 12

别介意我搞清楚了:

Sub Test3()

On Error Resume Next
Dim FileSelected As String

FileSelected = Application.GetSaveAsFilename(initialFilename:="Export", _
                                         FileFilter:="PDF Files (*.pdf), *.pdf", _
                                         Title:="Save PDF as")
If Not FileSelected <> "False" Then
MsgBox "You have cancelled"
Exit Sub
End If

If FileSelected <> "False" Then
MsgBox FileSelected 'where FileSelected is what I will be
                    'later feeding into the PDF Export Code
Exit Sub
End If

End Sub
Run Code Online (Sandbox Code Playgroud)