B

Çözüldü Listboxtan seçime göra sayfa yazdır, önizleme ve Pdf kaydetme

  • Konuyu başlatan Konuyu başlatan Believing
  • Başlangıç tarihi Başlangıç tarihi

Believing

Yıllık Site Üyesi
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Sayın uzman arkadaşlar,

Ekteki çalışmada Userform içindeki Listbox ile seçime göre çoklu sayfaların çıktısını alıyorum. Bu çalışmaya iki senaryo daha eklemek istiyorum.
Userform veya Listbox'tan yazdırılacak sayfalar seçildiğinde yazdırma, önizleme bir de kaydet seçeneğinin olmasını sağlamak istiyorum.
Yani seçilen sayfaları yazdırırken çalışma kitabının bulunduğu klasöre aynı zamanda PDF olarak kaydetmesi sağlanmalıdır.
PDF kayıtı iki farklı kritere göre yapılmalıdır.(Tek PDF sayfasına çoklu sayfa kayıtı veya Her sayfa için ayrı PDF kayıtı şeklinde olmalıdır.)
Tek PDF sayfasına çoklu sayfa kayıtı yapılırken, PDF ismini çalışma kitabı adı ile "SETTINGS" sayfasının "F6" hücresindeki tarihi almalıdır.
Her sayfa için ayrı PDF kayıtı yapılırken,PDF ismini her çalışma sayfa adı ile "SETTINGS" sayfasının "F6" hücresindeki tarihi almalıdır.
Konuya hakim uzman arkadaşların benim için çok kıymetli olan yardımlarını rica ediyorum.

Saygılarımla.
Ömer Ali ÜZÜMCÜ

Örnek Çalışma Linki;
https://s7.***/server18/zz0ftn/BASKI_ONIZLEME_YADIRMA_-_02.xlsm.html
 

Ekli dosyalar

Merhaba.

Yanlış düşünmüyorsam, YAZDIR düğmesinin kodlarında ilgili bölüme,
yeşil renklendirdiğim kısmı eklerseniz, YAZDIRılan sayfalar, ayrı ayrı PDF olarak kaydedilir.
PDF belge isimlendirmesinde, ilgili sayfanın ismi kullanılır.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(6 satır)

.
 
Merhaba Ömer bey,

Peki Listbox ile seçilmiş olana sayfaların tek bir PDF dosyası ile kayıt edilmesini, aynı zaman çalışma kitabı ile "SETTING" sayfasının "F6" hücresindeki isim ile PDF kaydetmesi nasıl sağlarız? Bu işlem arşiv oluşturmak için zorunlu olan bir senaryodur.

Saygılarımla.
 
Bilgisayarda değilim.
Anladığım kadarıyla, mevcut userforma bir onay kutusu daha ekleyip;
-- onay kutusu seçili olduğunda, listboxta seçili sayfaları, sayfadaki tarihle isimlendirip TEK pdf,
-- onay kutusu seçili değilse de seçili sayfaları AYRI AYRI ve sayfa adına göre isimlendirerek pdf yap
olarak kaydetmek gerekecek.

Akış açısından düşüncem doğru mudur sizce?

Bilgisayara geçtiğimde bakarım.

.
 
İşlemin uygulandığı belgeniz ekte Sayın @Believing .

Userform'a, bir adet CheckBox ve aşağıdaki ilk kod eklendi,
cmbPrint kodu ise aşağıdaki ikinci kod blokunda gösterildiği gibi oluşturuldu.

Her türlü kullanım senaryosuna göre deneyip sonucu iletirsiniz.

CSS:
Görüntülemek için giriş yapmanız gerekmektedir.
(4 satır)

CSS:
Görüntülemek için giriş yapmanız gerekmektedir.
(60 satır)

.
 

Ekli dosyalar

Sayın Ömer bey,

Userform'u yeniden istenen senaryolara göre düzenledim.
PDF kaydet seçenekleri işaretlensin veya işaretlenmesin bütün senaryo durumlarında listbox'tan seçilen sayfalar yazıcıya gönderilerek çıktısı alınacaktır.
Yani yazdır butonuna bastığımızda PDF kaydet seçeneklerinden hangisi işaretli ise PDF kaydetme ve yazıcıya çıktı işlemi aynı anda yapılacaktır.
Sayfaları birleştirerek PDF oluşturuluyor ise PDF dosyası ismini Çalışma kitabının ismi ile "SETTING" sayfasının "F6" hücresindeki tarihi birleştirerek oluşmalıdır.
Her sayfa için PDF oluştururken ise, Çalışma sayfa isimleri ile ile "SETTING" sayfasının "F6" hücresindeki tarihi birleştirerek oluşmalıdır.

Saygılarımla.
 

Ekli dosyalar

YAZICIYA GÖNDERME olayını tamamen unutmuşum o ilave edilir mesele değil.

PDF olayı için iki adet CheckBox değil de, iki adet OptionButton kullanmak daha doğru olur gibi geliyor bana.
Zira ya biri seçilir ya da diğeri, ikisinin birden seçilememesi gerekir, yanlış mı düşünüyorum?

NOT: Kastınız böyle değil biliyorum ama, fark edince yazmam gerekiyor.
Açıklamalarda, mesajlarda; "alınacaktır" / "oluşmalıdır" gibi emir kipi gibi anlaşılabilecek ifadeler yerine,
"alınmasını/oluşturulmasını istiyorum" gibi ifadeler kullanılması daha doğru olur.

.
 
-- PrintPreview seçiliyken PDF kaydı ve YAZDIRMA işlemi yok doğru mu anladım?
-- PrintPreview seçili değilken, PDF seçeneklerinden biri mutlaka seçilmiş olmalı değil mi?
-- Listeden TEK bir sayfa seçilmiş ve BİRLEŞTİRİLMİŞ PDF seçeneği işaretlenmişse, PDF adlandırmasında
SAYFA adı mı yoksa KİTAP adı mı kullanılmalı?

.
 
--PrintPreview seçiliyken PDF kaydı ve YAZDIRMA işlemi yoktur.
-- PrintPreview seçili değilken, PDF seçeneklerinden Birleştirilmiş seçili gelirse daha iyi olur.
-- Listeden TEK bir sayfa seçilmiş ve BİRLEŞTİRİLMİŞ PDF seçeneği işaretlenmişse, PDF adlandırmasında çalışma kitabının ismi ile "SETTINGS" sayfasındaki "F6" hücresindeki tarihin birleşiminden almalıdır.
 
Sayın @Believing .

Önce bir hatırlatma: ÇÖZÜLDÜ işaretini, çözümü sağlayan cevabın sağındaki ilgili simgeyi kullanarak oluşturalısınız.

Belgenizdeki UserForm'un kullanım esnekliği bakımından, ilave bir uygulama önerim olsun.

-- UserForm Inıtalize koduna, End Sub satırının hemen üstüne dur = False şeklinde bir satır ekleyin.
-- UserForm kodlarının bulunduğu yerde en üstteki,
Option Explicit ve Dim i As Integer satırından sonra Dim dur As Boolean şeklinde bir satır ekleyin.
-- chkAll_Click kodunu aşağıdaki ilk kod blokundakiyle değiştirin,
-- Aşağıdaki ikinci kodu, yani lbxSheets_Change kod blokunu, UserForm kodlarının bulunduğu bölüme yeni kod olarak ekleyin.

Böylece;
-- Listbox'tan tüm sayfa isimleri seçildiğinde alttaki Tümünü Seç düğmesi de kendiliğinden seçili hale gelir,
-- Listbox'tan seçim yaparken en az 1 adet seçilmeyen eleman olduğunda kendiliğinden Tümünü Seç düğmesi seçilmemiş hale gelir,
-- Tümünü Seç onay kutusu kendisinden beklenilen işlemi yapar, yani Listbox'un tümünü seçer veya tümünün seçimlerini kaldırır.

CSS:
Görüntülemek için giriş yapmanız gerekmektedir.
(8 satır)

CSS:
Görüntülemek için giriş yapmanız gerekmektedir.
(11 satır)
 
Merhaba Ömer bey,

Belirtiğiniz koşuları uyguladım. Ellerinize emeğinize sağlık
ALLAH sizden ve sevdiklerinizden razı olsun.
Kaç kişilik bir ekipten oluştuğunuzu bilmediğim için 5 kişilik kahve ısmarladım. Güzel günlerde yudumlayınız.
Hakkınız helal ediniz lütfen.
ALLAH'a emanet olunuz.

Saygılarımla.
Ömer Ali ÜZÜMCÜ
 
Üst