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 <[email protected]>
> **
>
>
> 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. <[email protected]>
> *To:* [email protected]
> *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 <[email protected]>
>
>
>
> 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
>
>
>
>
>
>