TC Kimlik No ya göre resim çağırma

Katılım
4 Nisan 2006
Mesajlar
20
Arkadaşlar selamlar, Bir kamu kuruluşunda çalışmaktayım.Bir hususta yardımınıza ihtiyacım var.Şöyle ki;
Bilgisayarın "C" diskinde "Kurum" isimli bir klasör var, bu klasörün içinde de yaklaşık 2000 tane klasör var. Bu 2000 tane klasörün isimleri TC kimlik numaraları yani sayılar. Her klasörde de jpeg formatında bir resim var ve resmin ismi "foto"

Örneğin :
Benim TC Numaram 12345678911 ise benim resmim
C:/Kurum/12345678911/foto.jpeg bu konumda.

Bir excel sayfasında a1 hücresine TC kimlik numaramı yazdığımda, resmimi bu konumdan otomatik çağırmak istiyorum.
İnternette bir çok örnek var ancak benim fotografların her biri ayrı klasörde olduğu için kendime uyarlayamadım.
Bu hususta yardımcı olursanız sevinirim.
Teşekkürler
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

Forum sayfalarının üst orta kısmındaki ARAMA bölümüne resim+çağırma veya resim+getirme ya da resim+gösterme
gibi anahtar kelime grupları yazarak arama yaparsanız çok sayıda örnek ve uygulama bulabilirsiniz.
.
 
Katılım
4 Nisan 2006
Mesajlar
20
Bu kadar uzun cevap yazıncaya kadar sorunuma çözüm yazabilirdiniz diye düşünüyorum. Ayrıca nereden arama yapacağımı biliyorum. 2006 dan beridir üyesiyim bu forumun. İlginize teşekkürler
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Uyarlamaya çalıştığınız kod'u bir örnek belge uygulayıp foruma eklememişsiniz. Uyarlamaya çalıştığırız kod da bilinmiyor.
Örnek belge özellikleri ve örnek belge yükleme yöntemine ilişkin kısa açıklama cevabımın altındaki İMZA bölümünde var.

Mecut duruma göre;
ARAMAyı dahi başkası yapıp ihtiyacınıza en uygun çözümü bulsun ve o çözümü de mümkünse bir belgeye uygulasın, hatta belirttiğiniz gibi bir dizine fotoğraflar ekleyip denemeler de yaparak çözüm budur diye göndersin istiyormuşsunuz gibi görünüyor.
Bunu yapacak bir üyenin destek vermesini beklemelisiniz.
Kolay gelsin.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi

Bunu yapacak bir üyenin destek vermesini beklemelisiniz.
Kolay gelsin.
Ben cüzi bir ücret karşılığında yardımcı olabilirim. ;)

Not: Kamu kurumunda çalıştığınızı şimdi fark ettim. Kurumunuz bu cüzi ücreti de karşılamaz..... O zaman, Ömer Beyin dediği gibi vakti olan bir üye yardımcı olabilir.

.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Tekrar marhaba.

Kamu görevlisi olmanızı göz önüne alarak aşağıdaki gibi bir basit bir kod oluşturdum.
Kod'u, alt taraftan uygulama yapacağınız sayfanın adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi
seçtiğinizde açılacak VBA ekranında sağdaki boş alana yapıştırın.


Oluşturulan kod ister istemez bazı varsayımlara dayanmak durumunda.

A1 hücresine yazdığınız TC kimlik numarasına göre C/Kurum/TCkimlik/TCkimlik.jpg
yolu ve adındaki resim A3 hücresine getirilir.
A1'e yazılan yol ve adda resim yoksa A3 boşaltılır.
Resim uzantısı kod'da jpg, gerekirse o uzantıyı kod'da değiştirirsiniz.

Kod A1 hücresinde değişiklik yapıldığında otomatik olarak çalışır.
A3 hücresinin genişlik ve yüksekliğini uygun yükseklik ve genişliğe ayarlarsınız.
Kod'da sadece A3 hücresinin en/boy oranına göre basit bir boyutlandırma var. (Zaten resimler vesikalık fotoğraflardır sanıyorum.)
Detay ayaralama/boyutlandırma gerekirse yapılabilir.
.
Kod:
[B]Private Sub Worksheet_Change(ByVal Target As Range)[/B]
If Intersect(Target, [[B][COLOR="Red"]A1[/COLOR][/B]]) Is Nothing Then Exit Sub
Dim yol As String
Dim Resim As Object
Dim a, b, c, d As Integer
    For Each rsm In ActiveSheet.Shapes
        a = rsm.Top: b = [[B][COLOR="Blue"]A3[/COLOR][/B]].Top: c = rsm.Left: d = [[B][COLOR="Blue"]A3[/COLOR][/B]].Left
        If a = b And c = d Then rsm.Delete
    Next
On Error GoTo 10
    [B][SIZE="4"]yol[/SIZE][/B] = "C:\Kurum\" & [B][COLOR="Red"]A1[/COLOR][/B].Text & "\" & [B][COLOR="Red"]A1[/COLOR][/B].Text & ".jpg"
    Set Resim = ActiveSheet.Pictures.Insert(yol)
    With [[B][COLOR="Blue"]A3[/COLOR][/B]]
        Resim.Top = .Top: Resim.Left = .Left
        Resim.ShapeRange.LockAspectRatio = msoTrue
        Resim.Width = .ColumnWidth: Resim.Height = .RowHeight
    End With
10:
[B]End Sub[/B]
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
Bu kadar uzun cevap yazıncaya kadar sorunuma çözüm yazabilirdiniz diye düşünüyorum. Ayrıca nereden arama yapacağımı biliyorum. 2006 dan beridir üyesiyim bu forumun. İlginize teşekkürler
Foruma Giriş Tarihi : 04.04.2006

Foruma Üye Olma Yılı Excelce : =ETARİHLİ("04.04.2006";BUGÜN();"YM")

Sonuç 11 Yıl Çıkıyor 07.03.2018 Tarihi itibariyle.

Resimli örneklere de baya yer verildi bu forumda.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Dilimin döndüğünce, kırıcı olmadan durumu belirtmeye çalıştım ama,
Sayın HALUK Beyefendinin cevabıyla KAMU GÖREVLİSİ olduğu dikkatimi çekince
pek uğraştığım/ilgilendiğim konu olmamasına rağmen yine de bir kod önerisinde bulundum.

Duygularıma tencüman oldunuz Sayın YEŞERTENER.
.
 
Katılım
4 Nisan 2006
Mesajlar
20
Öncelikle teşekkürler, daha önce de söylediğim gibi bu konuyu açmadan önce epeyce araştırdım, uğraştım ancak her bir klasör ismi ayrı bir tc numarası olduğu için uygun kodu üretemedim. Diğer benzerlerinden uyarlamaya çalıştım ancak klasör ismi sürekli değişeceğinden "yol" tanımlama kısmını yapamamıştım. Bu yüzden bu konuyu açtım.

Necdet bey, bir moderatör olarak bir üye ile bu şekilde dalga geçip tiye almanız da pek hoş değil. Aynı şeyi başkası size yapsa pek hoşunuza gitmezdi sanırım.

Emeği geçen herkese teşekkür ediyorum.

İyi günler
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
Necdet bey, bir moderatör olarak bir üye ile bu şekilde dalga geçip tiye almanız da pek hoş değil. Aynı şeyi başkası size yapsa pek hoşunuza gitmezdi sanırım.
Ben bu foruma geldiğimde ki sizden 1 yıl önce excelin e'sinin bir ayağını bile bilmiyordum. Bende kamuda çalıştım ve emekli oldum.

Benim amacım sizinle dalga geçmek değil, eleştirmek. Bu forumu sanırım sadece ihtiyaç duyduğunuzda işinizi yapmak olarak kullanmışsınız.
Öğrenme için çalışmamışsınız.

Hep almışsınız ama hiç vermemişsiniz.

Eleştirim bu.
 
Üst