AccessTr.neT

Tam Versiyon: Accessde Vba Kodu İle Kapalı Excel Dosyasını Yazdırmak
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3 4 5 6 7 8
Hayırlı geceler bir ara sendkeysi kullanmıştım
Ama anladığım kadarı ile Excel kendisi sayfaya özel yazıcıyı hafızasında tutmuyor default yazıcıyı kullanıyor bizde iki yazıcı var ikisinide farklı işler için aktif kullanıyoruz yani o an için değiştirip yazdırıp eskiye dönmeli
Tamamda zaten önceki eklediğim resimdeki gibi yazıcı adı seçilirse seçilen kaydedilmiyor.İşlem bitince tekrar standart yazıcı önceden hangisiyse o tekrar aktif oluyor.
Yani alttaki kod çalışıp ordan yazıcı seçilince seçilen standart olmuyor abey.
Öncedende yazdıpım gibi senkeyse gerek kalmadan  Api kodlu basitçe yapılabilir.




xlApp.Dialogs(xlDialogPrint).Show
Printer ayarları sayfası diyorsunuz
Benim eklediğim modulu denediyseniz görmüşsünüzdür
Onda sadece aktif yazıcı listesi çıkıyor seçiyorsunuz yola devam ediyorsunuz işte bende diyorum ki yazıcı değiştiğinden benim haberim olmasın program gelen komuta göre uygun yazıcıyı bana sormadan yapsın
Sendkeyse gelince belki son ihtimal olabilir mümkünse kod üzerinden listenin belli bir elemanını seçilmiş gibi devam etse güzel olur
Şöyle daha güzel olur Const da 
yazıcıyı sorsun mu değeri boolean tutulur
Ayarlar formundan değiştirilir
Rapora göre yazıcı adı yine tabloda yada const da tutulur
Eğer sormadan yazdıracaksa burada ki bilgiye göre yazıcıyı kullanır
Üstadım Api ile dediğin olay kolayca halledilir.

Kod çalışınca döngü ile array içine alınır printer adları.Ve sende bir daha array ekleyip ordaki verilerle alınan printer adlarına göre işlem yapabilirsin atıyorum kafadan.

For i = 1 to printer sayısı
  Aa= Aa & printerad &";"
Next

Yukarıdaki gibi Aa diziye tüm printer adlarını aldırırsın.

Sonrada 
Dim arr,arr2
Arr= Array(sayfa1,sayfa2,sayfa3...)
Arr2 =Array(Hp,brother,canon.....)

Yukarıdaki dibi kendin array belirlersin.

Sonrada Aa ile alınan dizi içini Arr ve Arr2 ile aldırdığımız verilere göre kıyaslanır.

Yapması zor değil gibi görünüyor.Tabi kodları örnek olsun diye kafadan yazdım mantığı göstermek için.

Akşama doğru deneyebilirim dediklerimi.
İsterseniz bu mantığa göre uğraşabilirsiniz.
Sayfalar: 1 2 3 4 5 6 7 8