Herkese yeniden merhaba;
Her ne kadar gereksiz olduğunu savunsam da, iş dünyasında o kadar gereksiz istekler var ki. Bu da onlardan biri.
Ürün fotoğraflarının, klasör yoluyla tutulduğu bir dosyamız var. Bu
Access dosyamızdan, excel'e veri aktarırken, ürün fotoğraflarının da
Excel dosyası içine gömülü olarak aktarılması istenmekte. Mümkün olup olmadığına dair bir fikrim de yok açıkçası
Forumda aradım ama bulamadım. Belki ihtiyaç olmamıştır.
Ekte örnek bir çalışma düzenledim. Alınması istenilen
Excel dosyasını da ekledim.
Örnek ürün fotoları da rar içinde. Kendi bilgisayarınızın klasör yolundan görmesi gerektiği için forma eklemedim. Formdan ekleyerek deneme yapabilirsiniz.
Yardımlarınız için şimdiden teşekkür ederim.
Sağa sola bakınırken, kod kullanılarak yapılabileceğinin mümkün olduğunu gördüm. En azından dosya dönüştürme siteleri bunu yapabiliyor.
Örneğin
bu site, oldukça başarılı bir şekilde pdf içindeki resimleri,
Excel içine gömülü olarak aktarabiliyor.
Vba ile ilgili hatırı sayılır bir kaynağa maalesef henüz ulaşamadım
Evet, hala boğuşmaktayım
En azından, geçerli formdaki resmi
Excel üzerinde istediğim yere göndermeyi başardım. Ancak bunu bilgiler olmadan yapabildim. Şimdi hem bilgileri, hem de resimleri
Excel de satır yüksekliklerini de ayarlayarak gönderebiliyor olmam lazım.
"Tüm Ürünleri Excel'e Aktar" butonuna kodu ekleyerek geçerli formdaki resmi excel' gönderebilirsiniz.
Kod:
On Error GoTo Err_Komut11
'DoCmd.OutputTo acQuery, "Sorgu1", "MicrosoftExcel(*.xls)", "", False, "", 0
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim PicLocation As String
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
xlBook.Application.Visible = True
Set xlSheet = xlBook.Worksheets.Add
xlSheet.Name = "Ürün Bilgileri"
xlSheet.Activate
PicLocation = Me.resim_yolu
If Dir(PicLocation) <> "" Then
'False Link to File
'True Save with Document
'All below values are in Points
'Left 100
'Top 100
'Width 70
'Height 70
xlSheet.Shapes.AddPicture PicLocation, False, True, 10, 100, 100, 100
'DoCmd.OutputTo acQuery, "Sorgu1", "MicrosoftExcel(*.xls)", "", False, "", 0
End If
Exit_Komut11:
Exit Sub
Err_Komut11:
MsgBox "Klasör seçmediğiniz için işlem iptal edildi", , "İŞLEM İPTAL EDİLDİ"
Resume Exit_Komut11
Ustalarımın yardımını bekliyorum
Edit: Butona eklenmiş halini ekledim. Ürün fotolarını tekrar yükleyiniz.
Merhaba donapezil;
Ben çok üst seviyede değilim ama açtığınız bu konunun sonucunu merak ettiğimden ve henüz diğer hocalarımızdan bir geri dönüş olmadığından göndermiş olduğunu kod üzerinden kendi bildiklerimde ile çabalayarak ekli örneği yaptım.
Ancak belirttiğim gibi çok ileri seviye olmadığımdan şöyle bir sorunu var bu örneğin.
Uygulamayı ilk açıp Komut14 butonunu ilk çalıştırdığınızda dediğinizi yapabiliyorum. Fakat ikinci defa çalıştırmak istediğimde 1004 numaralı hatayı veriyor. Ve nedenini bulamadım. Bende bir hata kontrolü ekleyip sadece uyarı olarak göstereyim dedim.
Uygulamayı kapatıp yeniden açtığınızda yine sorunsuz olarak yapıyor istediğiniz aktarımı.
Belirttiğim gibi merak edip bayağıdır uğraştığım için bu hali ile belki işinize yararsa diye paylaşmak istedim.
Kod tarafına da açıklamalar ekledim.
İyi çalışmalar.
(24/12/2017, 19:03)direnist yazdı: [ -> ]Merhaba donapezil;
Ben çok üst seviyede değilim ama açtığınız bu konunun sonucunu merak ettiğimden ve henüz diğer hocalarımızdan bir geri dönüş olmadığından göndermiş olduğunu kod üzerinden kendi bildiklerimde ile çabalayarak ekli örneği yaptım.
Ancak belirttiğim gibi çok ileri seviye olmadığımdan şöyle bir sorunu var bu örneğin.
Uygulamayı ilk açıp Komut14 butonunu ilk çalıştırdığınızda dediğinizi yapabiliyorum. Fakat ikinci defa çalıştırmak istediğimde 1004 numaralı hatayı veriyor. Ve nedenini bulamadım. Bende bir hata kontrolü ekleyip sadece uyarı olarak göstereyim dedim.
Uygulamayı kapatıp yeniden açtığınızda yine sorunsuz olarak yapıyor istediğiniz aktarımı.
Belirttiğim gibi merak edip bayağıdır uğraştığım için bu hali ile belki işinize yararsa diye paylaşmak istedim.
Kod tarafına da açıklamalar ekledim.
İyi çalışmalar.
Marhaba sayın direnist;
İnanın ne söyleyeceğimi bilemiyorum. En zor zamanlarımda, hayat kurtarıcı bilgilerimi aldığım bu forumda, kimseden tek bir yorum bile gelmeyince inanın bu son konu ile kendi kendime çabalıyormuşum gibi gelmişti. Biliyorum oldukça zor bir konu. Daha birkaçgün öncesine kadar, bunun hep yapılamayacağına dair bilgiler buluyor ve ben de öyle düşünüyordum. Hatta başka forumlarda, bunun hala yapılamayacağına dair yorumlar var. Ama 1 fotoğraf gidiyorsa, sizin yaptığınız gibi diğerleride gidebiliyor işte
Bu kadar emek sarfedip, kodları bu seviyeye kadar getirmeniz bile, borcu ödenemeyecek bir emek hakkı. Tıpkı daha önce bu forumdan öğrendiğim bilgiler gibi.
Kodları inceledim. O kadar tane tane notlar eklemişsiniz ki... Emeğinize sağlık. Hatanın sebebinin ne olduğunu benim anlamam imkansız gibi duruyor. Bu haliyle bile istenilen şeyi yapıyor. Hocalarımızdan başkaca bir cevap gelmezse, bu kadarı bile benim ve hatta bu konuyla ilgili sıkıntı çeken pek çok yazılımcının işini görecektir. "İşinize yararsa" ne demek! Günlerce uğraşılacak bir
Excel dosyasını, tek tıkla yaptıracak kadar harikulade.
Usta hocalarımızın hatanın kaynağını bularak düzenleyeceğine eminim. Ama ben bu kadarıyla bile müthiş bir iş çıktığı kanısındayım.
Tekrar sonsuz teşekkürlerimi iletiyorum.
Saygılar...