• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Combobox a yazıcı tanımlama

Katılım
19 Nisan 2007
Mesajlar
337
Excel Vers. ve Dili
Excel 2003 Türkçe
Bilgcisayarımda iki tane yazıcı yüklü
userform üzerindeki combobox'a Bilgisayardaki bu yazıcılar yüklenecek.
Seçilen yazıcıdan Textbox1 'e girilen sayı kadar sayfa3 aktif edilip çıktı alınacak .
Bu konuda yardımcı olabilirmisiniz?
 
İlgili linkten aldığım kodlarla combobox'a yüklü yazıcılar alındı.

Kod:
Private Sub UserForm_Initialize()
    Dim PrinterList As String, oSystem As Object, oPrinter As Object
    Dim i As Single
    Set oSystem = GetObject("winmgmts:").instancesOf("Win32_Printer")
'Aktif Bilgisayardaki Yazıcı Listesini Combobox1 e alır
    For Each oPrinter In oSystem
        ComboBox1.AddItem oPrinter.Name
    Next
Set oSystem = Nothing
End sub

Ancak Aktif sayfayı Butonla yazdırmak için kullandığım kodu ayarlayamadım

Kod:
Private Sub CommandButton2_Click()
'Yazdır
If TextBox1 = "" Then
MsgBox "Kopya Sayısını Giriniz...!!!"
Else
Worksheets("sayfa1").Select
'     Resim Ekleme Kodları
      adres = ThisWorkbook.Path()
      ActiveSheet.Shapes.AddShape(msoShapeRectangle, 20, 25, 45#, 60).Select
      Selection.Name = "resim"
      Selection.ShapeRange.Fill.UserPicture adres & "\logo.JPG"
      ActiveSheet.Shapes("resim").Select
      Selection.ShapeRange.Line.ForeColor.SchemeColor = 9
      Range("A1").Select
[COLOR=red]ActiveWindow.SelectedSheets.PrintOut copies, ComboBox1.Value = TextBox1.Value[/COLOR]
      ActiveSheet.Shapes("resim").Select
      Selection.Delete
      Range("A1").Select
'Unload Me
End If
End Sub
 
Excelin kendi dialog penceresi ile çözümü buldum. Teşekkürler
Kod:
Application.Dialogs(xlDialogPrinterSetup).Show
ActiveWindow.SelectedSheets.PrintOut Copies:=TextBox1.Value, Collate:=True

Yukarıdaki kırmızı yazılı kod yerine bu kodlar gelecek.
 
Şunu da kaullanabilirsiniz..

Aktif sayfayı combodaki printer ile textbox kopya sayısı kadar yazdır..

Kod:
ActiveSheet.PrintOut copies:=textbox1, ActivePrinter:=combobox1
 
Hocam Teşekkürler
 
Geri
Üst