Coba diubah jadi : Private Sub CommandButton1_Click() 'awal blok prosedur even klik si commandbutton1 dim sPrn as string 'string nama printer dim lIdxPort as long 'index port printer terpasang
on error resume next 'set perilaku ketemu error sprn="\\NARDI\Epson LQ-2180 ESC/P 2" 'init nama printer yang akan digunakan lidxport=0 'init port pertama do 'mulai blok loop mencari port err.clear 'clear error 'set printer aktif di port terproses (mulai 00 sampai 99) Application.ActivePrinter = sprn & " on Ne" & format$(lidxport,"00") & ":" 'cek : apakah *tidak *muncul error (artinya printer ketemu portnya) if err.number=0 then 'ganti printout dengan printpreview kalau akan lihat preview-nya activesheet.printout 'lakukan proses print exit do 'selesai print, keluar dari loop mencari port endif 'akhir dari blok cek ketemu port 'kalau sampai baris ini, artinya belum ketemu port yang sesuai untuk si sprn lidxport=lidxport+1 'pindah port berikutnya (port lama ditambah 1) 'akhir blok loop, untuk ke proses loop berikutnya loop until lidxport=100 'batas loop mencari port adalah sampai port 99 saja err.clear 'clear error on error goto 0 'set balik perilaku ketika ketemu error end sub 'akhir blok prosedur even klik si commandbutton1 Wassalam, Kid. 2012/6/15 Purnomo Sidi <pysa_2...@yahoo.com> > ** > > > terima kasih atas tanggapan dari Mr Kid > > masih ada yang ingin saya tanyakan seperti ini ceritanya (terima kasih mau > menbaca cerita ini) > saya mendapatkan kode dengan menggunakan Record Macro kemudian saya > masukkan kedalam kode Command Button hasilnya kurang lebih seperti ini : > > > Private Sub CommandButton1_Click() > > Application.ActivePrinter = "\\NARDI\Epson LQ-2180 ESC/P 2 on Ne07:" > ExecuteExcel4Macro _ > "PRINT(2,1,1,1,,,,,,,,2,""\\NARDI\Epson LQ-2180 ESC/P 2 on Ne07 & > :"",,TRUE,,FALSE)" > > End Sub > > yang jadi masalah saat saya membuka file tersebut di lain waktu ternyata > kode tersebut tidak bekerja dan muncul pesan seperti ini : > > Run-time error '1004': > Method 'ActivePrinter' of object'_Application' failed > > kemudian saya pilih End aja > > selanjutnya saya menggunakan Record Macro lagi untuk mendapatkan kode baru > dan ternyata ada perbedaan dengan kode yang sudah saya tulis dan perbedan > tersebut terletak pada portnya. > > Private Sub CommandButton1_Click() > > Application.ActivePrinter = "\\NARDI\Epson LQ-2180 ESC/P 2 on *Ne04*:" > ExecuteExcel4Macro _ > "PRINT(2,1,1,1,,,,,,,,2,""\\NARDI\Epson LQ-2180 ESC/P 2 on *Ne04* & > :"",,TRUE,,FALSE)" > > End Sub > sekian > > terima kasih > PYSA2605 > > > ------------------------------ > *From:* Kid Mr. <mr.nm...@gmail.com> > *To:* belajar-excel@yahoogroups.com > *Sent:* Thursday, June 14, 2012 6:46 PM > *Subject:* Re: [belajar-excel] menge-print di printer yang berbeda > > > Untuk set printer mana yang akan digunakan, gunakan properti > activeprinter milik application. > Contoh : > application.activeprinter="\\alamat_komputer\nama printer on portnya" > > setelah itu baru lakukan print out dengan : > sheet1.printout 'misalnya akan print sheet1 pada printer di komputer > bernama alamat_komputer dengan nama printer adalah nama printer yang > terhubung melalui port bernama portnya > > > Wassalam, > Kid. > > 2012/6/14 Purnomo Sidi <pysa_2...@yahoo.com> > > > > salam persahabat, beExcel mohon bantuannya nih > > saya mempunyai dua printer yang berbeda jenis yang pertama berjenis tinta > laser dan yang kedua priter DOT Matrix yang ingin saya tanyakan adalah : > bagaimana kodenya jika saya ingin menge-Print di printer yang berbeda. > Anggap saja command button "Print lampiran" untuk ngeprint sheet "lampiran" > di printer 1 dan command button "Print permohonan" untuk menge-print Sheet > "permohonan" di printer 2 untuk lebih jelasnya bisa dilihat di lampiran > terima > kasih atas bantuannya PYSA2605 > > > > > >