Dim vFileName as Variant ... On Error GoTo ErrorHandler vFileName = Application.GetSaveAsFilename(strTaskOrder & ".pdf", _ "PDF Files (*.pdf), *.pdf", _ "Select PDF Name for " & strTaskOrder) On Error GoTo 0
What was interesting is no runtime error was generated, (so I could not use the
OnError
code; printing the contents of vFileName
in the Immediate window was "Error 2015" and the typename(vFileName)
was returning "Error", but it was not an "Err
" object. But what would work, (thanks to StackOverflow answer to similar issue) I was able to catch whether this was happening:
If IsError(vFileName) Then MsgBox "error" End If
Well the actual problem was that I was omitting a parameter; the FilterIndex (
1
) of the File Filter; the correct call was:
vFileName = Application.GetSaveAsFilename(strTaskOrder & ".pdf", _ "PDF Files (*.pdf), *.pdf", _ 1, "Select PDF Name for " & strTaskOrder)
Lesson learned: Double-check your parameters!