yazıcı tercihi

Katılım
22 Ocak 2007
Mesajlar
321
Excel Vers. ve Dili
offıce 2003
Sub YAZDIR()
deg1 = 1
[C31:M62].Select
Range("A1").Select
Application.Dialogs(xlDialogPrint).Show
Range("A1").Select
End Sub


arkadaşlar yukarıdaki kodda yazdırmak istediğim alanı belirleyip,yazdıracağım prınteri seçmemi istiyor.
benim istediğim yazdırma alanı aynı kalsın,fakat yazdırmak için prınter seçeneği sormasın tanımladığım prınterden otomatik belge döktün.bunun için yukarıdaki koda ekleme yapabilirmisiniz.

not:şirkette 2 adet prınter var.birisi irsaliye kestiğim diğeri normal döküm aldığım.
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Seçili alanı yazdırma alanı olarak belirleyip ve yazdıran kod aşağıda
ActiveSheet.PageSetup.PrintArea = Selection.Address
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Not: varsayılan yazıcıya gönderir.
 
Son düzenleme:
Katılım
6 Şubat 2005
Mesajlar
1,467
Önceki mesajda, yanlış anladığımdan eksik cevap vermişim.
Bilgisayarınızda yazıcı tanımlarını bilmediğimden sadece yol önerebilirim.
makro kaydede basıp, yazdır komutu verin, istediğiniz varsayılan değilde diğer yazıcıyı seçip tamam tuşuna basın.
makro sayfasında
Application.ActivePrinter = "Yazıcının tanımı"
"Yazıcı Tanımı" diye belirtiğim yer, sizin yazıcınızın tanımınıza göre oluşacaktır.
bir kod oluşacak.
Denetim masasından yazıcılar klasörüne gelip, varsayılan yazıcı seçeneğini diğer yazıcı ile değiştirin.
yukardaki işlemi tekrarlayın.
Yine
Application.ActivePrinter = "Yazıcının tanımı"
Bu sefer diğer yazıcı tanımına göre kod oluşacaktır.
Bu kodları önceki mesajda yazdığım kodların arasına yazarsan.

ActiveSheet.PageSetup.PrintArea = Selection.Address
Application.ActivePrinter = "Yazıcının tanımı"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Not : İrsaliye ayrı sayfada ise Örneğin Sayfa2'de ise
ActiveSheet.PageSetup.PrintArea = Selection.Address
yerine
Sheets("Sayfa2").Activate yazabilirsiniz
 
Katılım
22 Ocak 2007
Mesajlar
321
Excel Vers. ve Dili
offıce 2003
ömerceri arkadaşım ilgin için teşekkür ederim.

fakat gönderdiğim kod üzerinde uygularsan sevinirim.
ayrıca dosyamda diğer sayfalardan diğer prınterdan da çıktı alıyorum.yazıcı seçeneğini değiştir demişsin.değiştirdiğimde diğer sayfadaki alacağım çıktıda irsaliye dökülen prınterden geliyor.


irsaliye kestiğim prınter adresi :areskp74
döküm aldığım prınter adresi : areskp39

ekli dosyayı incelermisiniz.
teşekkür ederim.
 

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
Eğer yazıcılarınız sabitse. Yazdırma kodunun başına aşağıdaki kodu ekleyebilirsiniz.

Kod:
Application.ActivePrinter = "[COLOR=red]sizin yazıcınız[/COLOR]"
Eğer irsaliye sayfasıysa A yazıcısını, döküm ise B yazıcını seç diyerek, yukarıdaki kodları yazabilirsiniz. Ancak, bu şekilde yazacağınız kodda, yazıcının adını makro kaydet ile öğrenmeniz gerekir. Excelde, worddeki gibi, sadece yazıcı adını girmek yeterli olmuyor.
 
Üst