Here is some code I use to print to a .PDF and specify the name:
ActiveWindow.SelectedSheets.PrintOut Copies:=NumberCopies, Collate:=True
' delete old file and send save as file name to printer driver
' Create object for file handling
Set FileObjects = CreateObject("Scripting.FileSystemObject")
If FileObjects.FileExists(CurrentPath & "\" & _
(CStr(Sheets("Controls").Cells(CheckRow, CheckCol))) & ".pdf") Then
FileObjects.DeleteFile CurrentPath + "\" & _
(CStr(Sheets("Controls").Cells(CheckRow, CheckCol))) & ".pdf"
End If
' Wait for save as form to appear
Application.Wait (Now() + TimeValue("0:0:1"))
SendKeys CurrentPath + "\" & _
(CStr(Sheets("Controls").Cells(Row, Col))) & ".pdf" & "{ENTER}"
Application.Wait (Now() + TimeValue("0:0:1")) ' Wait for print/save to occur
End If