Yazdırırken sayfa biriktirme sorunu

Katılım
11 Nisan 2009
Mesajlar
43
Excel Vers. ve Dili
2010 TR
Makro ile bir rapor programı yaptım. Veritabanı olarak ayrı sayfada bir liste oluşturdum. Bir sayfa da raporun kendisi. Tek tıklamayla listedeki her kişi rapor sayfasındaki yerine yerleştiriliyor, değerleri de yerine konuluyor,yazdırılıyor ve sonraki kişiye geçiliyor. Aynı sayfada yeni kişinin bilgileri beliriyor ve yine "yazdır" komutu veriliyor. Buradaki sorun şu:
Yazıcı her "yazdır" komutunu ayrı bir iş olarak algılıyor ve her sayfadan sonra bir bekleme yapıyor. Bu, zaman kaybına ve yazıcı lazer olduğu için fazla ısınmaya ve toner yanmasına sebep oluyor.
Sorum şu :
arka arkaya gönderilen sayfaları bellekte toplatacak, sonra bunları tek iş olarak yazıcıya gönderecek bir VBA komutu var mı?

İngilizce ve türkçe sayfalarda bir çözüm bulamadım sanırım ancak ileri basic bilgisi olan bir arkadaş yardımcı olabilecek bu konuda... yardımcı olana şimdiden teşekkürler.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,114
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Kişi bilgilerini tek bir sayfada alt alta aktardıktan sonra sayfayı yazdırırsanız istediğiniz sonuca ulaşabilirsiniz.
 
Katılım
11 Nisan 2009
Mesajlar
43
Excel Vers. ve Dili
2010 TR
Dosyayı buraya yüklemeye çalıştım ama boyutu fazla ve küçültemedim çünkü anlamı kayboluyor.
durum biraz farklı:
Bir liste sayfası var. Birçok kişi alt alta sıralı ve her kişinin satırında kendine ait değerler var (tıbbi veriler).
Bir de standartlar ve raporlar sayfası var. Yani yaşa ve boya göre beklenen değerler var. Bir kişinin raporunu çıkarmaya çalıştığımıza ismi rapor sayfasında beliriyor, elde edilen ölçüm değerleri ve o kişinin yaşına ve boyuna göre beklenen değerleri listeden bulunuyor, rapora yerleştiriliyor ve print ediliyor. Sonra sıradaki kişiye geçiliyor.
Yapılan bu işlemler her kişi için ayrı yapılması gerektiğinden ve rapor formatı sabit olduğundan tek çözüm yolu olarak komutlarla sayfaları biriktirerek toplu olarak yazıcıya göndermek olduğunu düşünüyorum. Yani sayfalar hafızada biriktirilirken ve print komutu verilirken bir "sayfalar buradan başlıyor" ve " burada bitiyor" komutu olması gerektiğini düşünüyorum.
 
Katılım
10 Mayıs 2009
Mesajlar
1,080
Excel Vers. ve Dili
2003 türkçe
Peki bu işleri yazıcınız çevrimdışıyken yapsanız ya da yazıcınızı duraklatıp yapsanız sonra da toplu yazdırsanız olmaz mı acaba?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,114
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Raporlama için kullandığınız sayfanızı alt alta kopyalarsanız ve her sayfaya bir rapor gelecek şekilde sayfa yapısını ayarlarsanız sanıyorum sorunu çözebilirsiniz.

Yada her kişinin bilgileri için ayrı bir rapor sayfası oluşturun. İlk olarak tüm bilgiler bu sayfalara aktarın. En son olarakta oluşan sayfaları tek bir komutla yazdırın.

Dosyanızı paylaşım sitelerine ekleyip linkini burada verebilirsiniz.
 
Katılım
10 Mayıs 2009
Mesajlar
1,080
Excel Vers. ve Dili
2003 türkçe
Yapabileceğim birşey değil ama aklıma şöyle bir alternatif geldi.Sayfanızı bir butonla adı belli olan bir başka kitaba kaydedebilirsiniz.Bu şekilde yazdıracağınız tüm sayfaları kitaba aktardıktan sonra yazıcıdan çalışma kitabının çıktısını alabilirsiniz.
 
Katılım
11 Nisan 2009
Mesajlar
43
Excel Vers. ve Dili
2010 TR
Evet aslında bu çözümlere benzer çözümler benim de aklıma gelmişti ama ekstra kodlarla ve ek dosyalarla uğraşmak istemedim. Bu çıktılar bazen 150-200 kişi için kullanılıyor (benzer mantıkla yaptığım başka program 1000-2000 kayıt içerebilir-kalıcı çözüm arıyorum), oluşturulan sayfalar çoğaldıkça excel'in yavaşlayacağını düşündüm o yüzden bu yolu son ihtimal olarak düşünüyorum.
Dosyanın linki
http://www.easy-share.com/1909813186/SFT2+ diğer.xls
kopyala yapıştır ile çalışacaktır.

İlginiz için teşekkür ediyorum
 
Katılım
11 Nisan 2009
Mesajlar
43
Excel Vers. ve Dili
2010 TR
sn. peleryn
"yazıcınız çevrimdışıyken yapsanız ya da yazıcınızı duraklatıp yapsanız sonra da toplu yazdırsanız"
sorun şu ki Pc ile yazıcı arasındaki komut-veri akışında bir değişiklik olmadıkça çalışmasında da bir değişiklik olmayacaktır. Print yaparken yazıcı ikonuna tıklayıp bakarsanız örneğin 1-5 arası sayfa gönderdiyseniz o iş printerda tek satırda tek iş olarak görünür. Oysa benim sorunumda yazıcıya 5 kişinin raporunu gönderdiğimde yazıcının belleğinde 5 ayrı iş olarak görünür ve 5 satırda görünür. Yazıcı ilk işi çıkarır, duraksar ve sonraki işe geçer.
Yani bendeki
iş başlangıcı - 1 sayfa çıkar (1nci kişi) - iş bitişi / iş başlangıcı - 1 sayfa çıkar (2nci kişi) - iş bitişi .........
yerine
iş başlangıcı - biriktirilen 5 sayfa çıkar - iş bitişi
olmasını istiyorum ve bir yolunun olması gerektiğini düşünüyorum.
Excelde esnek print seçenekleri olduğuna göre ( 1-5; 1,3,7,10 gibi) bunların iç komutları da vardır ?.....
 
Katılım
11 Nisan 2009
Mesajlar
43
Excel Vers. ve Dili
2010 TR
sn. Korhan Ayhan
Alt alta sayfalama yöntemi, çıkacak rapor sayısının fazlalığı nedeniyle pratik olmayacağını düşüyorum (100-2000 kişi).
Teşekkürler...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,114
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Verdiğiniz link çalışmıyor. Kontrol edermisiniz.
 
Katılım
11 Nisan 2009
Mesajlar
43
Excel Vers. ve Dili
2010 TR
verdiğim dosyada denemeler yapacaksanız
yaş aralığı 25-70 erkek, 25-50 kadın
boy aralığı er-1,55-1,-90 cm, 1,45-1,80 kadın
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,114
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Mahkeme kararınca kapatılmıştır uyarısı çıkıyor. Farklı bir paylaşım sitesine yüklermisiniz.
 
Katılım
11 Nisan 2009
Mesajlar
43
Excel Vers. ve Dili
2010 TR
liste sayfasında hepsini çıkar butonunu deneyin. konu o butonun işlevi ile ilgili
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,114
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Bana göre istediğiniz işlemi yapmak için her kişi için SFT RAPORU isimli sayfadan bir kopya oluşturun. Verilerinizi bu sayfalara yazdırın. En son olarakta bu eklediğiniz sayfaları tek bir komutla yazdırın.
 
Katılım
11 Nisan 2009
Mesajlar
43
Excel Vers. ve Dili
2010 TR
Selamlar,

Bana göre istediğiniz işlemi yapmak için her kişi için SFT RAPORU isimli sayfadan bir kopya oluşturun. Verilerinizi bu sayfalara yazdırın. En son olarakta bu eklediğiniz sayfaları tek bir komutla yazdırın.
Evet aslında bu çözümlere benzer çözümler benim de aklıma gelmişti ama ekstra kodlarla ve ek dosyalarla uğraşmak istemedim. Bu çıktılar bazen 150-200 kişi için kullanılıyor (benzer mantıkla yaptığım başka program 1000-2000 kayıt içerebilir-kalıcı çözüm arıyorum), oluşturulan sayfalar çoğaldıkça excel'in yavaşlayacağını düşündüm o yüzden bu yolu son ihtimal olarak düşünüyorum.
Dosya bu haliyle 4 mb iken 2000 kişi kaydedildiği zaman ve 2000 sayfa oluşturulduğu zaman ne olabileceğini tahmin ediyorum.

Yine de teşekkürler
 
Üst