Userformda açılan kutu (combobox) içinde yazıcı listelemek ve seçmek

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
Hepinizin malumu; Dosya menüsünden 'yazdır'a girince, açılan kutu içide, yüklü yazıcıların listesi çıkıyor ve biz oradan yazıcı seçiyoruz.

UserForma eklediğimiz bir açılankutu (combobox) bu işi yapamaz mı? Yani, yüklü yazıcıların listesi, userform üzerindeki açılankutuda çıksa ve biz oradan seçerek, yazıcı seçimi yapsak..

Benim çok işime yarar böyle bir şey. Sayın hocalarımdan yardımlarını bekliyorum.

Teşekkürler ve iyi çalışmalar..
 

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
İşin, yazıcıların bulunması kısmı;

Kod:
Sub EnumPrinters()
    Dim oNetwork As Object, oPrinters As Object
    Dim i As Single, j As Single
    Dim MyPrinters As String
    '
    Set oNetwork = CreateObject("WScript.Network")
    Set oPrinters = oNetwork.EnumPrinterConnections
    '
    For i = 0 To oPrinters.Count - 1 Step 2
        MyPrinters = MyPrinters & "Printer" & j + 1 & "= " & _
        oPrinters.Item(i + 1) & " ( Port : " & oPrinters.Item(i) & " )" & vbCrLf
        j = j + 1
    Next
    '
    MsgBox "Mevcut Printer'lar:" & vbCrLf & vbCrLf & MyPrinters, vbInformation, "Rapor !"
End Sub
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Pratik Alternatif : Bu kod YAZICI penceresini görüntüler.

Application.Dialogs(xlDialogPrint).Show
 

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
Asıl yapmak istediğim;

birkaç farklı Userform ile çalışıyorum. Birinden fatura çıktılarını (matbu) ,diğerinden genel listeleri (A4 kağıt), diğerinden de, ödeme çizelgelerini (matbu) çıkarıyorum. Elimizde 4 tane yazıcı var, bunlardan üçünü kullanıyoruz.

Ben hangi userformda hangi yazıcıyı seçmişsem, o userformdan yazdır dediğimde, seçtiğim yazıcıya göndersin.
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Makro Kaydet ile yazıcıları tek tek belirleyip butona atanarak, daha pratik olur kanısındayım.
Not : Makro Kaydet ile oluşturulan kodlarda, yazıcı isminin olduğu kodu silererek, hücre adresini yazarak deneyiniz. Tabi hücrede yazıcı ismi olacak. İmkanım olmadığı için deneyemedim. Bu şekilde bir denemeye çalın.
 
Son düzenleme:

Ali

Özel Üye
Katılım
21 Temmuz 2005
Mesajlar
7,919
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Ekteki dosya işinizi görürmü
 
Üst