varsayılan yazıcıyı seçmek

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
Makro ile yazıcı seçimi yapıyorum ve yazdıracağım evrağa uygun olarak kullanıyorum; ancak makro bitince seçtiğim yazıcı, haliyle seçili kalıyor.

Makronun sonuna varsayılan yazıcıyı seçen kod ilave etmek istiyorum; nasıl yapabilirim? Yazıcı seçme mantığıyla, kodların sonunda, varsayılan yazıcı hangisiyse, onun adını girerek, tekrar o yazıcıyı seçtiriyorum; ama varsayılan yazıcıyı değiştirdiğimde, tekrar her yerde isim değiştirmem gerekiyor.

Yardımcı olabilirseniz sevinirim, iyi çalışmalar..
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Aşağıdaki kodları kendinize göre uyarlayabilirsiniz.


Kod:
Sub PrinterDeğiştir()
    Dim DefaultPrint As String
    DefaultPrint = Application.ActivePrinter
    Application.ActivePrinter = "microsoft fax on fax:" 
    ActiveSheet.PrintOut 
    Application.ActivePrinter = DefaultPrint 
End Sub
 
Katılım
5 Şubat 2010
Mesajlar
2
Excel Vers. ve Dili
tr
yazıcı tanımlama

iyi geceler.
benim sorum oluşturduğumuz butonlara varsayılan yazıcıiçin farklı buton . ağ yazıcıları için farklı buton tanımlayabilirmyiz.
örnrk buton 1 e basınca varsayılan yazıcıya göndersin.
buton 2 ye basınca ağ üzrinde hp5500 e gödersin
buton 3 e basınca nokta vurşlıya göndesin
buton 4 e basınca bilgisayarıma bağlı barkod yazıcıya göndersin ?
teşekkürler.
 
Katılım
10 Şubat 2020
Mesajlar
26
Excel Vers. ve Dili
tr 2010
merhaba farklı bir durum var bu konuya yardım ederseniz sevinirim.

Kod:
Sub Makroüç()

'

' Makro8 Makro

'

' Klavye Kısayolu: Ctrl+t

'

    Sheets("ELLE ETİKET BASMA").Select

    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=3, Copies:=1, Collate _

        :=True, IgnorePrintAreas:=False

    Sheets("ELLE BASMA").Select

    Range("D2").Select

End Sub
ben bu kodun içine sadece " ZDesigner ZD420-203dpi ZPL (Copy 1) " bu yazıcıya yazdırmasını ekleyebilir miyim.

şimdiden teşekkürler.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,324
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Makro kaydet kullarak ihtiyacınız olan kodu bulabilirsiniz. Makro kaydet dedikten sonra yazdırma menüsünden istediğiniz yazıcıyı seçtiğinizde aşağıdakine benzer biçimde kodunuz oluşacaktır. Bu kodu kendi kodunuzda yer alan yazdırma kodunun öncesine ilave edebilirsiniz.
Örnek kod:
Kod:
Application.ActivePrinter = "Ne00: üzerindeki ZDesigner ZD420-203dpi ZPL (Copy 1) "
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,324
Excel Vers. ve Dili
2007 Türkçe
Tekrar merhaba,
Benim yukarıda verdiğim kodu aynen kullanmışsanız hata alabilirsiniz bağlantı noktasında vs farklılık olabilir. Yukarıda belirttiğim gibi Makro kaydet yöntemi ile excelin uygun kodları oluşturmasını sağlayabilirsiniz. Yukarıda verdiğim kod, kodun neye benzeyeceğiyle alakalı bir örnekti.
 
Katılım
10 Şubat 2020
Mesajlar
26
Excel Vers. ve Dili
tr 2010
teşekkürler...

makro kaydı başlatıp print ekranında yazıcı seç diyorum. kaydı durduruyorum.

bakıyorum hiç kod yazmamış. kodu açmış kapatmış.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Yazıcı adı veya Port tanımında sıkıntı olabilir....

Ekli dosyadaki makroyu çalıştırıp, yazıcıları ve Portları listeledikten sonra Ömer Beyin kodunu gerekirse revize edersiniz.

.
 

Ekli dosyalar

7xlarge

Altın Üye
Katılım
18 Şubat 2020
Mesajlar
4
Excel Vers. ve Dili
Türkçe
Altın Üyelik Bitiş Tarihi
2-12-2026
Merhaba,

Recep Bey
Makro kaydet düğmesine basın. Sonra YAZDIR butonuna tıklayın, daha sonra bir yazıcı seçin (ben önce PDF ile denedim) yazdır deyin. Makroyu durdurun.

Sub Makro1()

Application.ActivePrinter = "Ne01: üzerindeki Microsoft Print to PDF "
ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
End Sub

verdiği kod bu şekil de.
 
Katılım
10 Şubat 2020
Mesajlar
26
Excel Vers. ve Dili
tr 2010
hepinize teşekkürler.
ama aklım almadı bir türlü aynı kodu alamıyorum. acaba versiyon ve admin tarafından yönetilen bilgisayar olduğundan kısıtlamalar mı var?

Sub Makro1()
'
' Makro1 Makro
'
' Klavye Kısayolu: Ctrl+a
'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End Sub

teşekkürler
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,180
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Boş bir excel sayfasında A1 hücresine TEST yazıp aşağıdaki kodu deneyiniz.

Kod yazıcı seçiminden sonra varsayılan yazıcı adını B1 hücresine yazar.

C++:
Sub Printer_Setup()
    Application.Dialogs(xlDialogPrinterSetup).Show
    Range("B1") = Application.ActivePrinter
End Sub
Sonrasında edindiğiniz yazıcı adını kendi kodunuza entegre ediniz. Bold bölümü revize edersiniz. Yazıcı adını yazdığınızda sonunda bir adet boşluk karakteri olmalıdır. Bunu unutmayınız.

Sub Makroüç()
' Klavye Kısayolu: Ctrl+t
Dim Varsayilan_Yazici As String

Sheets("ELLE ETİKET BASMA").Select
Varsayilan_Yazici = Application.ActivePrinter
Application.ActivePrinter = "Ne00: üzerindeki ZDesigner ZD420-203dpi ZPL "
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=3, Copies:=1, Collate:=True, IgnorePrintAreas:=False
Sheets("ELLE BASMA").Select
Range("D2").Select
Application.ActivePrinter = Varsayilan_Yazici
End Sub
 
Katılım
10 Şubat 2020
Mesajlar
26
Excel Vers. ve Dili
tr 2010
evet şimdi oldu çok teşekkürler.

yazıcıyı bulma kodu işi bitirdi.

emeğinize sağlık.
 
Üst