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!
