• DİKKAT

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

Çözüldü Kod ile köprü yolu bulma.

  • Konbuyu başlatan Konbuyu başlatan FERAZ
  • Başlangıç tarihi Başlangıç tarihi
Birde 10.cu mesajda anlattığınız ayar için kod varmı.
Yani kod kendi yapacak o ayarı.

VBA dediğimiz şey "aspirin" değil ki, herkesin her türlü ihtiyacını hemen gidersin. Önce, klasik tedavi yöntemlerini denemek lazım.

Sanırım sizinle bir türlü anlaşamıyoruz, kolay gelsin........

.
 
VBA dediğimiz şey "aspirin" değil ki, herkesin her türlü ihtiyacını hemen gidersin. Önce, klasik tedavi yöntemlerini denemek lazım.

Sanırım sizinle bir türlü anlaşamıyoruz, kolay gelsin........

.

10.mesajınızı ya güncellediniz yada ben akşam olduğu için tam dikkat edemedim.
Aslında anlaşamayacak bir durum yok Altın üye olun demenizden başka :)
Bilgiler için sağolun.
Bu şekilde ayar yapma olayı isteğimi karşılamıyor.En iyisi galiba hyperlink.address gibi bir kod var onunla açmak dosyaları.
Teşekkürler sizede iyi çalışmalar.
 
10. mesajda önemli bir revizyon yapmamıştım. Belki nokta, virgül düzeltmesi gibi bir şey yapmışımdır sadece.

Ayarı yapmaktan neden çekiniyorsunuz ya da yapmak istemiyorsunuz, o da sizin bileceğiniz bir şey.

Yine de söz konusu ayarın VBA ile yapılması için, aşağıdaki kodu kullanabilirsiniz;

Kodda geçen Hyperlink base ibaresi, kullandığınız Excel versiyonu (Türkçe, Almanca vb) ile uyumlu değilse, onu bilemem artık.....

Kod:
Sub Test()
    For Each Prop In ThisWorkbook.BuiltinDocumentProperties
        If Prop.Name = "Hyperlink base" Then Prop.Value = "X:\"
    Next
End Sub

.

.
 
10. mesajda önemli bir revizyon yapmamıştım. Belki nokta, virgül düzeltmesi gibi bir şey yapmışımdır sadece.

Ayarı yapmaktan neden çekiniyorsunuz ya da yapmak istemiyorsunuz, o da sizin bileceğiniz bir şey.

Yine de söz konusu ayarın VBA ile yapılması için, aşağıdaki kodu kullanabilirsiniz;

Kodda geçen Hyperlink base ibaresi, kullandığınız Excel versiyonu (Türkçe, Almanca vb) ile uyumlu değilse, onu bilemem artık.....

Kod:
Sub Test()
    For Each Prop In ThisWorkbook.BuiltinDocumentProperties
        If Prop.Name = "Hyperlink base" Then Prop.Value = "X:\"
    Next
End Sub

.

.

Bu kodu çalıştırdım olmadı malisef.Exceli ingilizceye çevirip 10.cu mesajdakilerinide uyguladım adım adım oda fayda etmedi.
Yinede sağolunuz.Belki Excel versiyon ile alakalıdır.
Kolay gelsin.Sağolun herşey için.
 
Kastettiğim tam anlaşılmadı galiba,
Mesela A1 hücremiz köprü olan hücre olsun aşağıdakine benzer bir kod kullanarak tam yolu bulabilirsiniz.
Kod:
Sub kod()
adres = Range("A3").Hyperlinks(1).Address
If InStr(1, adres, ":") > 0 Then
    tamadres = adres
Else
    tamadres = ThisWorkbook.Path & "\" & adres
End If
MsgBox tamadres
End Sub

Burada eğer excel dosyası köprüdeki dosyaya göre alt klasörde ise dosya yolunda /../../ gibi üst klasöre çıkma ifadeleri yer alabilir ama bu shell komutunda problem olmaz. Zannedersem ihtiyacınızı karşılayacaktır.
İyi çalışmalar...

Merhaba kodunuzu aşağıdaki gibi yaptım herşey mükemmel çalışıyor denemelerimde.

Elinize sağlık,kolay gelsin.

Kod:
Sub kod()

Dim tamadres As String
Dim adres As String

adres = Range("A1").Hyperlinks(1).Address
If InStr(1, adres, ":") > 0 Then
    tamadres = adres
    Call CreateObject("Shell.Application").ShellExecute(tamadres)
Else
    tamadres = ThisWorkbook.Path & "\" & adres
    Call CreateObject("Shell.Application").ShellExecute(tamadres)
End If

End Sub
 
Sizin amacınız A1 hücresindeki hyperlink ile bağlanmış dosyayı açmak ise, aşağıdaki ufak kod bu işi daha rahat yapar...

Kod:
Sub Test2()
    Range("A1").Hyperlinks(1).Follow
End Sub

.
 
Sizin amacınız A1 hücresindeki hyperlink ile bağlanmış dosyayı açmak ise, aşağıdaki ufak kod bu işi daha rahat yapar...

Kod:
Sub Test2()
    Range("A1").Hyperlinks(1).Follow
End Sub

.
Asıl amacım köprürün tam adresini bulmaktı.
Ve özellikle Shell ile açmaktı.Çünkü dediğiniz gibi yapmıştım önceden ve Makro Güvenlik uyarısı çıkıyordu ve tamama basınca açılıyordu.Bende böyle uyarı çıkmasın diye Shell olarak açılsın istedim.
 
Bu kodu çalıştırdım olmadı malisef.Exceli ingilizceye çevirip 10.cu mesajdakilerinide uyguladım adım adım oda fayda etmedi.
Yinede sağolunuz.Belki Excel versiyon ile alakalıdır.
Kolay gelsin.Sağolun herşey için.

Aşağıdaki kodu çalıştırdığınızda, sayfada C sütununda listelenen verilerden bir tanesi "Hyperlink base" olmalı. (Belki Almanca veya başka versiyonlarda daha değişik bir ifade olabilir, bilmiyorum)

Çalıştırıp, kontrol edebilirmisiniz?


Kod:
Sub Test3()
    For Each Prop In ThisWorkbook.BuiltinDocumentProperties
        i = i + 1
        Range("C" & i) = Prop.Name
    Next
End Sub


.
 
Ben Türkçe kullanıyorum, "Hyperlink base" doğru sonuç veriyor.
Kod:
ThisWorkbook.BuiltinDocumentProperties("Hyperlink base").Value = "X:\"

İlave olarak: Bu durum ayarlamadan sonraki köprülerde etkili oluyor. Ancak ayar öncesi köprüleri değiştirmedi. Yani önceki hyperlink yine göreceli olarak kaldı.
 
Son düzenleme:
Aşağıdaki kodu çalıştırdığınızda, sayfada C sütununda listelenen verilerden bir tanesi "Hyperlink base" olmalı. (Belki Almanca veya başka versiyonlarda daha değişik bir ifade olabilir, bilmiyorum)

Çalıştırıp, kontrol edebilirmisiniz?


Kod:
Sub Test3()
    For Each Prop In ThisWorkbook.BuiltinDocumentProperties
        i = i + 1
        Range("C" & i) = Prop.Name
    Next
End Sub


.
Bilgisayarım Almanca dili.
Excel ise Türkçe ve Almanca dilide mevcut ve genelde Türkçe kullanıyorum Tr karakter olayından dolayı.
Dün kodunuzu denemiştim ve incelemelerimde köprünün önüne X:\ ekliyordu.Bundan dolayı açılmamıştı.Son kodunuzu birazdan deneyeceğim.
İstiyorsanız Teamvier ile bağlanıp gözlemyebilirsiniz sonucu.
 
Team'e gerek yok.

Şöyle de bir deneme yapabilirsiniz.....

Yeni bir "xlsm" dosyası oluşturup, bahsettiğiniz klasöre yerleştirdikten sonra, bu dosyaya 24. mesajdaki kodu ekleyip, çalıştırın.

Sonra, A1 hücresine bir metin girip, buna Bayrak.jpg dosyasını linkleyin.

Aynı dosyaya, hyperlink adresini bulan kullanıcı tanımlı fonksiyonu da yerleştirin ve B1 hücresine fonksiyonu yazın.

Dosya adresinin B1 hücresinde görüntülenmiş olması gerekir.

-----------------------------------

Bu işi, daha önceden oluşturulmuş bir dosyada yapmak için de; 24. mesajdaki kodu çalıştırdıktan sonra A1 hücresini temizleyin ve hyperlink'i tekrar ekleyin. B1 hücresindeki kullanıcı tanımlı fonksiyonun, adresi vermiş olması gerekir.

.
 
........
İlave olarak: Bu durum ayarlamadan sonraki köprülerde etkili oluyor. Ancak ayar öncesi köprüleri değiştirmedi. Yani önceki hyperlink yine göreceli olarak kaldı.


.....
..

-----------------------------------

Bu işi, daha önceden oluşturulmuş bir dosyada yapmak için de; 24. mesajdaki kodu çalıştırdıktan sonra A1 hücresini temizleyin ve hyperlink'i tekrar ekleyin. B1 hücresindeki kullanıcı tanımlı fonksiyonun, adresi vermiş olması gerekir.

.


Ömer Bey, aynı noktayı tespit etmişiz..... Ben de yukarıda 32 No'lu mesajımda bu nedenle eski köprünün kaldırılıp, yeniden kurulması gerektiğini belirtmiştim.

.
 
Ömer Bey, aynı noktayı tespit etmişiz..... Ben de yukarıda 32 No'lu mesajımda bu nedenle eski köprünün kaldırılıp, yeniden kurulması gerektiğini belirtmiştim.

.

Ben orayı atlamışım galiba ihtiyarlık.
Neyse emeği geçen herkese teşekkürler,her türlü sonuç olumlu.
 
Geri
Üst