• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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.
 
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:
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
 
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.

.
 
Haluk bey farklı resim formatlarını nasıl ekleyebilirim tif,png gibi.
 
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

.
 
@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_?
 
Bir sıkıntı olmaz .... isterseniz "doc, xlsx, xlsm" bile olur ....

.
 
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. :(
 
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.
 
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:
Haluk Bey,
Ben de teşekkür ederim
Saygılarımla
 
ş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.
 
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..
 
Geri
Üst