Şimdi Ara

Makro Hakkında

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
21
Cevap
0
Favori
627
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 12
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • Office 2013 kullanıyorum.

    Excelde 4 adet sayfa var.

    Birinci sayfada verileri giriyorum, diğer sayfalar otomatik olarak doluyor. 1. sayfaya koyduğum butonlar ile o sayfaları yazdırıyorum. Yalnız şöyle bir durum var;

    Bu dört sayfayıda yazdırmam lazım fakat farklı yazıcılardan ve farklı şekilde yazdırmam lazım.

    1. ve 2. sayfalar canon marka yazıcının alt tepsisinden, 3. sayfa canon marka yazıcının üst tepsisinden, 4. sayfa ise epson yazıcıdan çıkması lazım.

    Daha önce ki office sürümlerinde bunu makro kaydı ile yapabiliyordum fakat bu sürümde düzgün çalışmıyor. Butona tıkladığım zaman hangi yazıcı seçili ise onu yazdırıyor. Makro kayıt işlemi düzgün çalışmadığı için bu yardımı istiyorum.

    Yazıcılara ait resimleri ekledim.

    Şuan ki mevcut kodları ekledim.

     
    Sub talep_formu_yazdır()
    '
    ' talep_formu_yazdır Makro
    '

    '
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
    IgnorePrintAreas:=False
    End Sub

    Sub basvuru_dilekcesi_yazdir() 
    '
    ' basvuru_dilekcesi_yazdir Makro
    '

    '
    Sheets("Sert.Toh.Baş.Dilekçesi.").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
    IgnorePrintAreas:=False
    Sheets("Sert.Tohm.Kul.Dest.Talp.Form.").Select
    End Sub

     
    Sub fatura_arkasi_yazdir()
    '
    ' fatura_arkasi_yazdir Makro
    '

    '
    Sheets("Fatura arkası yazısı").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
    IgnorePrintAreas:=False
    Sheets("Sert.Tohm.Kul.Dest.Talp.Form.").Select
    End Sub

    Sub sertifika_arkasi_yazdir() 
    '
    ' sertifika_arkasi_yazdir Makro
    '

    '
    Sheets("SERTİFİKA").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
    IgnorePrintAreas:=False
    Sheets("Sert.Tohm.Kul.Dest.Talp.Form.").Select
    End Sub

     Makro Hakkında Makro Hakkında







  • örnek:
    yazıcıyı değiştirmek için
    Application.ActivePrinter = "Ne01: üzerindeki Samsung ML-1610 (USB001) "

    aktif yazıcı adını
    MsgBox "Varsayılan yazıcı: " & Application.ActivePrinter
    ile öğrenebilirsin
  • Pazartesi gunu deniyeyim hocam tesekkurederim. Peki alt ve ya ust tepsiden yazdirmayi nasil ayarlayacagiz?

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • o kadar detaylı bilmiyorum
  • quote:

    Orijinalden alıntı: akcan

    örnek:
    yazıcıyı değiştirmek için
    Application.ActivePrinter = "Ne01: üzerindeki Samsung ML-1610 (USB001) "

    aktif yazıcı adını
    MsgBox "Varsayılan yazıcı: " & Application.ActivePrinter
    ile öğrenebilirsin


    Beceremedim hocam

    Edit: Bu ekran resmine göre;

    Application.ActivePrinter = "Ne04: üzerindeki Canon MF5900 Series UFRII LT (CNMFNP_888717099C8F) "

    ve

    Application.ActivePrinter = "Ne04: üzerindeki EPSON LQ-590 ESC/P ver 2.0 (USB001) "

    Not: Benim bilgisayarım 4 numaralı bilgisayar olduğu için Ne04 yaptım. Yalnız bilgisayarım adını mı yazacağız yoksa standart "Ne" mi yazılıyor?

    Benim bilgisayarımın ağda ki ismi A071C04

     Makro Hakkında



    < Bu mesaj bu kişi tarafından değiştirildi igneli -- 5 Ekim 2015; 12:05:16 >




  • ağ üzerindeki yazıcıları deneme imkanım yok
    ancak yazmanız gereken yazıcı adını
    MsgBox "Varsayılan yazıcı: " & Application.ActivePrinter
    ile öğrenebilirsiniz.

    yazdırmadan önce de bu adı kullanarak vba da yazıcıyı değiştirip bir deneyin.
    mesala benim local yazıcıda

    Application.ActivePrinter = "Ne01: üzerindeki Samsung ML-1610 (USB001) "

    google bulunan şu sayfalar işine yarayabilir
    https://www.google.com.tr/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=vba+excel+change+active+printer




  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • quote:

    Orijinalden alıntı: akcan

    ağ üzerindeki yazıcıları deneme imkanım yok
    ancak yazmanız gereken yazıcı adını
    MsgBox "Varsayılan yazıcı: " & Application.ActivePrinter
    ile öğrenebilirsiniz.

    yazdırmadan önce de bu adı kullanarak vba da yazıcıyı değiştirip bir deneyin.
    mesala benim local yazıcıda

    Application.ActivePrinter = "Ne01: üzerindeki Samsung ML-1610 (USB001) "

    google bulunan şu sayfalar işine yarayabilir
    https://www.google.com.tr/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=vba+excel+change+active+printer

    Verdiğiniz kod ile yazıcının adını öğrendim.

    "Ne00: üzerindeki EPSON LQ-590 ESC/P 2 ver 2.0" olarak çıktı. Bu şekilde yazdım fakat kabul etmedi.

    Sonuna (USB001) olarak koydum onuda kabul etmedi.

    Sub fatura_arkasi_yazdir() 
    '
    ' fatura_arkasi_yazdir Makro
    '

    '
    Sheets("Fatura arkası yazısı").Select
    Application.ActivePrinter = "Ne00: üzerindeki EPSON LQ-590 ESC/P 2 ver 2.0 "
    Sheets("Sert.Tohm.Kul.Dest.Talp.Form.").Select
    End Sub




  • hata mı verdi yazdırmadı mı?
    yazdırmadıysa eğer yazdırma komutu yok
  • akcan kullanıcısına yanıt
    Yazdirmadi. Sonuna (usb001) ekledigim zaman ise hata verdi.

    Dogrusu nasil olacak

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • activeprinter den sonra
    ActiveWindow.SelectedSheets.PrintOut kullandınm mı
  • akcan kullanıcısına yanıt
    Yarın hocam. Yarın bunu kullanıp deneyeceğim.
  • quote:

    Orijinalden alıntı: akcan

    activeprinter den sonra
    ActiveWindow.SelectedSheets.PrintOut kullandınm mı

    Hocam yanlışım nerede bakar mısınız?
     Makro Hakkında
  • Sub fatura_arkasi_yazdir()
    '
    ' fatura_arkasi_yazdir Makro
    '

    '
    Sheets("Fatura arkası yazısı").Select
    Application.ActivePrinter = "Ne00: üzerindeki EPSON LQ-590 ESC/P 2 ver 2.0 "
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
    IgnorePrintAreas:=False
    Sheets("Sert.Tohm.Kul.Dest.Talp.Form.").Select
    End Sub
  • akcan kullanıcısına yanıt
    Hocam aynisi yaziyor zaten ama hata veriyor. Sebebini anlamis degilim. Noktasi virgulune kadar ayni yazdiginla

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • deneme ve çözüm üretme şansım yok.
    vba excel change active printer
    kelimeleriyle google'da arama yapın
  • akcan kullanıcısına yanıt
    Hocam çok teşekkürederim. c/p yaptım yazdığınız kodu çalıştı. Aradaki fark neydi çözemedim bir türlü.

    Diğerlerinide Ne01: üzerindeki Canon MF5900 Series UFRII LT olarak değiştirince sorunlarımı çözdüm.

    Bir sayfada sıkıntım kaldı. Canon yazıcının üst tepsisinden kağıt almasını sağlamam lazım. Bunun hakkında da bir çözüm sunarsanız çok memnun kalacağım.

    Hocam google'dan da araştırıyorum zaten ama ingilizcem iyi olmadığı için sadece Türkçe sayfalara bakabiliyorum.
  • ben sadece senin verdiğin kod'a

    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
    IgnorePrintAreas:=False

    ekledim

    belki yazım(syntax) hatası oluşmuştur. verilen hatayı yazsaydın belli olurdu

    yazıcı ayarlarında varsayılan olarak üst tepsiden al diye bir seçenek olması lazım

    İngilizce sayfalar için google çeviri sağ olsun :)
  • akcan kullanıcısına yanıt
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
    IgnorePrintAreas:=False

    kodu vardı hocam zaten ama gözle göremediğim bir hatam varmış demek ki.

    Bazılarını alt tepsiden bazılarını üst tepsiden almam gerektiği için varsayılan olarak ayarlamam çözüm olmayacak hocam.

    Google çeviriye başvuru yapacaz o zaman :)
  • Hocam şöyle bir şey buldum ama anlamadığım için sorayım dedim;

    https://msdn.microsoft.com/en-us/library/system.drawing.printing.pagesettings.papersource%28v=vs.110%29.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2

    ' Add list of paper sources found on the printer to the combo box. 
    ' The DisplayMember property is used to identify the property that will provide the display string.
    comboPaperSource.DisplayMember = "SourceName"

    Dim pkSource As PaperSource
    For i = 0 to printDoc.PrinterSettings.PaperSources.Count - 1
    pkSource = printDoc.PrinterSettings.PaperSources.Item(i)
    comboPaperSource.Items.Add(pkSource)
    Next




  • 
Sayfa: 12
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.