• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü Resim ekle - gizle Yazdır olayı

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

okinava14

Yeni Üye
Katılım
19 Haz 2022
Mesajlar
673
Çözümler
3
Aldığı beğeni
128
Excel V
Office 2021 TR
Konu Sahibi
Herkese hayırlı geceler sayın hocalarım ve üstatlarım. Değişik bir konu ile karşınızdayım. Biraz karışık gibi geldi bana, yardımlarınızı rica ediyorum.

Frm_FormYazdir formunda seçilen personelin siciline göre (resim adları sicil no olacak) P_Liste sayfasından sicil alacak şekilde, Resim klasöründen resim eklensin.
P_Form sayfasını ve YAZDIR olayı tamamlansın.
Bu arada eğer resmi yazdırmak istemezsek Resmi gizle butonu ile geçici olarak devre dışı bırakmak istiyoruz.
Yani bazen formu resimli alalım. Resim gerekmez ise Gizle tuşu ile resim eklemeyi devre dışı bırakalım.
 
Personel bilgilierini listelediğiniz alanda kurgunuza göre istediğiniz sıraya ekleyebileceğiniz aşağıdaki kodHTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Image1 alanına seçtiğiniz personelin Resimler dosyasında resmi mevcut ise ekler yoksa size uyarı verir. Resim Gizle butonuna ekleyeceğiniz aşağıdaki gibi bir kodda mevcut resimi gösterir veya gizlersiniz. buton captionı resmi gizle ise resim görüntülenmektedir tıkladığınızda resim gizlenir ve caption resmi göster olarak düzeltilir tıklandığında resmi gösterir ve caption yine Resmi Gizle olarak düzeltilir.
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Kodunuzu debug ederseniz hatanızı göreceksiniz. Öncelikle formunuzda checkboxları Cbox olarak adlandırmış ve for - next döngülerini cbox & i şeklinde kurgulamışsınız ancak checkboxlarınızın tamamı adlandırılmamış kimisi cbox1 gibi kimisi checkbox01 gibi adlandırılmış hatanız burada başlıyor, listview ile ilgili kurgunuzda da sorun var gördüğüm kadarı ile runtime error 6 overflow hatası almanız kaçınılmaz gibi. ancak zaman darlığı nedeni ile benim tektek bunları düzeltme şansım yok şu anda. Gerekli kontrol ve düzeltmeleri yaparsanız zaten hataların büyük kısmını çözmüş olacaksınız, zira kodunuz resim eklemeye geçmeden hata verip kesiliyor, resim eklenmesi ile ilgili kodsal bir sıkıntı yok; şayet düzeltmelerden sonra hata almaya devam ediyorsanız düzeltilmiş örneği paylaşabilirseniz ilk fırsatta bakmaya çalışırım.
 
Konu Sahibi
Hocam belirtilen nesne bulunamadı hatasının çözümünü bulamadım.
Dosyanın son hali ekte
 
O hatanın nedenini zaten söylemiştim. cbox10dan cbox28e kadar checkboxlarınızın değerlerini listboxa işlemeye çalışıyorsunuz ancak checkboxlarınızı cbox12'ye kadar adlandırmışsınız. Diğerlerinin isimleri checkbox olarak duruyor. Resimde işaretli alandaki checkboxlarınızın hiçbirisini adlandırmadığınız, ancak kodlardaki kurgunuzu da adlandırma yönteminize göre yaptığınız için olmayan denetimleri arıyor kodunuz ve hata veriyor.
 
Ayrıca 28 checkbox varmış gibi kod yazmışsınız ancak gördüğüm kadarı ile onların sayısı da 24 yani sadece adlandırma hatasını düzeltmeniz değil sayısal hatanızı da gözden geçirmeniz gerekli ekleyeceğiniz yeni checkboxlar yoksa.
 
Konu Sahibi
Hocam son gönderdiğimde düzeltmeleri yapmıştım ama siz ilk örneğe bakmışsınız. Şuanki burada verdiğim örneği incelermisiniz.
 
Cbox01 adlı bir denetiminiz yok dolayısı ile for i=1 to 9 dediğinizde cbox01 olmadığı için hata alıyorsunuz.
 
Konu Sahibi
Hocam kusurları hallettim fakat resim yok uyarısı veriyor. ama resimsiz sorun yok kodlarınıza bir bakabilirmisiniz.
Son halini Ekliyorum.
 
Resimlerin yükleneceği klasör yolunu düzenlememişsiniz dolayısı ile resmi bulamıyor.
Şayet resimler klasörünüz excel dosyanız ile aynı klasör altında ise kodunuzun ilgili kısmını
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
şeklinde düzenlemeniz gerekir. Şayet kullanıcıların Resimler klasörü gibi genel bir klasör alındaki resimlere erişmek istiyorsanız da sürekli dosya yolu güncellemek yerine kodu
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
şeklinde düzenlemeniz gerekir. Bu hali ile kod her kullanıcının profil klasörü içindeki "Resimler" altındaki SicilNo adında bir resim dosyasını kontrol eder ve varsa ekler yoksa hata mesajı verir.
Çalışmanızdaki kodlamanıza baktığımda bu sorunu çok rahat çözebilecek seviyede olmanız lazım ancak sorduğum anda cevap geliyor şeklinde şartlanarak hareket ederseniz gelişiminizi sekteye uğratırsınız biraz daha dikkatli olursanız çok kolaylıkla çözebileceğiniz bir sorun.
 
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
koda yolu yazarken sadece ThisWorkbook.Path & eklemek yerine tüm yolu yeniden yazmışım dolayısı ile "\Resimler\" & SicilNo & ".jpg" iki defa olmuş ona da hata demeyin diyerek düzeltmiş olayım :)
 
Konu Sahibi
Hocam ney yaptıysam beceremedim. HücreyeAktar dedim yok. BtnKaydet dedim yok. başka kodlar denedim yok.
Hatamı ve olurunu yapabilirmisiniz. Son halini ekliyorum.
 
Çalışmadaki kodları siz yazdıysanız bu kadar basit hataları nasıl çözemiyor veya göremiyorsunuz aklım mantığım almıyor.
Ekli dosyayı inceleyin bariz hatanızı da göreceksiniz.
 
Konu Sahibi
Hocam haklısınız emeğinize sağlık fakat hala eksik sorun var. yazdır dediğimizde evraka resim gelmiyor sadece form üzerinde gözüküyor. Yani Form da var olan resim excel sayfasında geçici olarak yansımalı ki yazdır dediğimizde resimli dökümanı yazdırsın.
Anlaşılan ben sorunumu anlatmakta sıkıntılıyım. sizden özür diliyorum. Hakkınızı helal edin lütfen.
 
İnceleyin. Konu açarken ne yapmak istediğinizi, ne yapınca ne sonuç almak istediğinizi, kurgunuzu ve hedefinizi net olarak kısa cümlelerle ifade ederseniz çalışmanızı detaylı analiz etmek ihtiyacı azalır ve amacınıza uygun cevabı, yardımı daha hızlı alırsınız. Bu hususlara dikkat ederek konu açmak hem sizin, hem diğer kullanıcıların hem de bizlerin zaman kaybetmesini engeller.
 
Konu Sahibi
Hocam zahmet olmazsa sadece excel dosyasını atarmısınız WinRar dosyayı bozuk algıladı.
Çok zahmet verdim kusura bakmayın. Hata resmi altta.
 
Konu Sahibi
Hocam emeğinize, yüreğinize sağlık. Birşey sorabilirmiyim. 15. mesajda da yazmıştım fakat gözünüzden kaçmıştır diye tekrar soruyorum.
Şimdi herşey tamam. Yazdır dedik ve yazdırdık. Bundan sora yeni bir personel çağırdığımızda önceki resim excel sayfasında kalıyor ve üstüne yeni resmi ekliyor. yani sürekli yazdırdıkça hep üst üste resimler birikecek. buna bir çözüm olabilirmi yani yazdır dedikden sonra yeni yazdırmada eski resmi excelden silip yenisini eklese gibi bir kod varmı?
Umarım bu defa tam açıklayabilmişimdir.
 
kodun ResimHeight = ws.Range("D2: D7").Height kısmından sonra
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
kodunu eklerseniz çalışma sayfanıza önce eklenmiş resmi varsa siler sonra formdaki resminizi ekler.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst