@raibarong ...
Saya coba script tersebut dengan Excel 2010 (Windows 7 64bit), hasilnya normal tanpa masalah. Coba dulu di PC lain, apakah masih bermasalah?! Karena saya pake Windows 7, tidak ada fitur Microsoft to PDF Printer, jadi saya tidak bisa mencobanya. Jadi silahkan dicoba langkah berikut :
— Seleksi area yang akan dicetak;
— Print Preview area yang akan dicetak, pilih printer ke "Microsoft to PDF Printer";
— Keluar dari Print Preview, buka VBE (Control F11);
— Buka Immediate Window (Control G), lalu ketik :
?ActivePrinter
lalu tekan Enter untuk menampilkan nama printer aktif berikut portnya; Contohnya :
Salin nama dan port printernya. Lalu ubah script di atas menjadi :
Sub TestPrint()
Dim vFN As Variant
'+-- Saya menggunakan printer PDF berbeda sebagai target
'+-- printer aktif untuk membuat file PDF.
Application.ActivePrinter = "PDF-XChange Standard on PXC"
vFN = Application.GetSaveAsFilename( _
FileFilter:="Portable Document (*.pdf), *.pdf", _
Title:="Simpan dokumen sebagai...", _
InitialFileName:=ThisWorkbook.Path & "\namadokumen.pdf")
If vFN <> False Then
Selection.PrintOut
End If
'+-- Jika ingin mengembalikan printer aktif ke printer lainnya,
'+-- ubah kembali properti ActivePrinter di bawah ini ke nama dan
'+-- port printer yang diinginkan!
Application.ActivePrinter = "Bullzip PDF Printer on Ne03:"
End Sub
Demikian.