Klasör içindeki jpg. dosyalarına köprü oluşturma

Katılım
17 Şubat 2010
Mesajlar
10
Excel Vers. ve Dili
2003
excel koda ihtiyacım var. masa üstünde "resim" klasörü içindeki jpg. resimleri "e" sütünuna yukarıdan aşağıya artan sırada köprü oluşturacak.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,318
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Kod:
Sub Test()
    ' Haluk - 25/09/2018
    Dim FSO As Object, MyFolder As Object, MyFile As Object
    Dim strDocuments As String
    Dim i As Long
    
    Range("E2:E" & Rows.Count) = Empty
    Set WshShell = CreateObject("WScript.Shell")
    strDocuments = WshShell.SpecialFolders("Desktop")
    
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set MyFolder = FSO.GetFolder(strDocuments & Application.PathSeparator & "Resimler")
    i = 2
    
    For Each MyFile In MyFolder.Files
        If FSO.getExtensionName(MyFile) = "jpg" Then
            Range("E" & i) = FSO.getBaseName(MyFile)
            ActiveSheet.Hyperlinks.Add Anchor:=Range("E" & i), Address:=MyFile
            i = i + 1
        End If
    Next
    
    Set WshShell = Nothing
    Set MyFolder = Nothing
    Set FSO = Nothing
End Sub
.
 
Son düzenleme:
Katılım
17 Şubat 2010
Mesajlar
10
Excel Vers. ve Dili
2003
emeğinize çok teşekkür ederim.ancak masa üstünde köprüleme yapacak klasör (resim)ismini nereye yazacağımı bilemedim yardımcı olurmusunuz
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,318
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Klasörün adı zaten Resimler değilmiydi ?

Rich (BB code):
 Set MyFolder = FSO.GetFolder(strDocuments & Application.PathSeparator & "Resimler")

Not: Sizin ilk mesajınızda Resimler değil Resim diye belirtmişiniz, ben dikkat etmemişim. Yukarıda kırmızı renkli yeri buna göre değiştirirsiniz.

.
 
Katılım
17 Şubat 2010
Mesajlar
10
Excel Vers. ve Dili
2003
Çok teşekkür ederim büyük bir iyilik yaptın bana :)) çalıştı
 
Katılım
17 Şubat 2010
Mesajlar
10
Excel Vers. ve Dili
2003
Haluk bey farklı resim formatlarını nasıl ekleyebilirim tif,png gibi.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,318
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Varsa, diğer resim uzantılarını aşağıdaki kodda arrPicExt dizi değişkenine tanımlayabilirsiniz.


Kod:
Sub Test2()
    ' Haluk - 25/09/2018
    Dim FSO As Object, MyFolder As Object, MyFile As Object
    Dim arrPicExt As Variant, j As Long
    Dim strDocuments As String
    Dim i As Long
    
    Range("E2:E" & Rows.Count) = Empty
    Set WshShell = CreateObject("WScript.Shell")
    strDocuments = WshShell.SpecialFolders("Desktop")
    
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set MyFolder = FSO.GetFolder(strDocuments & Application.PathSeparator & "Resimler")
    i = 2
    
    arrPicExt = Array("gif", "png", "bmp", "jpeg", "jpg", "tif")
    
    For Each MyFile In MyFolder.Files
        For j = LBound(arrPicExt) To UBound(arrPicExt)
            If FSO.getExtensionName(MyFile) = arrPicExt(j) Then
                Range("E" & i) = FSO.getBaseName(MyFile)
                ActiveSheet.Hyperlinks.Add Anchor:=Range("E" & i), Address:=MyFile
                i = i + 1
            End If
        Next
    Next
    
    Erase arrPicExt
    Set WshShell = Nothing
    Set MyFolder = Nothing
    Set FSO = Nothing
End Sub
.
 

gicimi

Altın Üye
Katılım
3 Şubat 2008
Mesajlar
594
Excel Vers. ve Dili
Office 2016 Eng. 64 Bit
Altın Üyelik Bitiş Tarihi
21-11-2024
@Haluk Bey Merhaba; klasörün içerisinde videolarda olur ise;

arrPicExt = Array("gif", "png", "bmp", "jpeg", "jpg", "tif")
"avi", "mp4" yazmamız yeterli olur mu_?
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,318
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Bir sıkıntı olmaz .... isterseniz "doc, xlsx, xlsm" bile olur ....

.
 

gicimi

Altın Üye
Katılım
3 Şubat 2008
Mesajlar
594
Excel Vers. ve Dili
Office 2016 Eng. 64 Bit
Altın Üyelik Bitiş Tarihi
21-11-2024
Teşekkür ederim.
 
Katılım
17 Şubat 2010
Mesajlar
10
Excel Vers. ve Dili
2003
Haluk bey, köprü ekleme olmamış. köprüde resimlerin adresi olması gerekiyor. örnek: (C:\Users\hakan\Desktop\Resimler\53.jpg) indesing proğramında resimleri çağırmıyor. :(
 

netzone

Altın Üye
Katılım
10 Mayıs 2006
Mesajlar
789
Excel Vers. ve Dili
🅾🅵🅵🅸🅲🅴
⎝365 64 Bit 𝙏𝙍⎠
🆆🅸🅽🅳🅾🆆🆂
⎝10 64 Bit 𝙏𝙍⎠
Altın Üyelik Bitiş Tarihi
12-09-2027
Haluk bey, köprü ekleme olmamış. köprüde resimlerin adresi olması gerekiyor. örnek: (C:\Users\hakan\Desktop\Resimler\53.jpg) indesing proğramında resimleri çağırmıyor. :(
Merhaba,

@Haluk Bey'in yazmış olduğu kodlar Kullanıcı Klasörünüz altında Desktop Klasöründe bulunan Resimler Klasöründe yer alan belirttiğiniz uzantılı dosyaları listeleyip bu dosyalara bağlantı oluşturuyor.

Siz Adobe InDesign ile açmak istediğiniz dosyaların uzantılarını ilişkilendirmelisiniz. Bunun için;
- Başlat > Varsayılan uygulamalar yolunu izleyebilir.
- Yada (Örneğin JPG dosyası için) resim üzerinde sağ tuş > Birlikte aç > (Listede uygulama yoksa başka bir) uygulama seçerek varsayılan olarak atayabilirsiniz.

iyi çalışmalar.
 

netzone

Altın Üye
Katılım
10 Mayıs 2006
Mesajlar
789
Excel Vers. ve Dili
🅾🅵🅵🅸🅲🅴
⎝365 64 Bit 𝙏𝙍⎠
🆆🅸🅽🅳🅾🆆🆂
⎝10 64 Bit 𝙏𝙍⎠
Altın Üyelik Bitiş Tarihi
12-09-2027
Her uzantı için ayrı ayrı ilişkilendirmeniz gerekiyor. Jpeg için yaptınız ayar Png veya diğerleri için geçerli olmayacaktır.
Lütfen kontrol edip dönüş yapınız.
 
Son düzenleme:

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,618
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Haluk Bey,
Ben de teşekkür ederim
Saygılarımla
 
Katılım
17 Şubat 2010
Mesajlar
10
Excel Vers. ve Dili
2003
şimdilik sadece jpg denedim çalışmadı ,
makro kodsus yeni excel sayfası açtığımda tek tek kendim köprü oluşturduğumda indesinde çalıştırıyor.
 
Katılım
17 Şubat 2010
Mesajlar
10
Excel Vers. ve Dili
2003
dosya uzantusıyla köprüleme yapmasını istiyorum. örnek: masa üstünde resimler klasörü için. (C:\Users\hakan\Desktop\Resimler) excel de köprülendiği hüçrede bu uzantı olmadan çalışmıyor..
 
Üst