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

Katılım
5 Kasım 2006
Mesajlar
602
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Merhaba.

Alttaki linkteki dosyada A2 hücresinde Köprüleme var.
Benim istediğim C:\Users\xxx\Desktop\Köprü\Bayrak.jpg gibi herhangi bir hücreye yazması.

Desktop masaüstü demek.Rar dan çıkan klasör Masaüstünde olmalı.

Ekte Bayrak.jpg olarak çıkıyor.
Kullandığım fonksiyon altta.
Saygılarımla.

http://s7.dosya.tc/server10/dipgyb/Kopru.rar.html

Kod:
Public Function EntfernenHyperlink(Zelle As Range)
    Application.Volatile
    EntfernenHyperlink = Zelle.Hyperlinks(1).Address
End Function
 
Son düzenleme:

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Feraz Bey aynı konuyu ben de araştırmıştım. Excel belgesi ile resim aynı klasörde ise sadece Bayrak.jpg yazıyor. Ama belirttiğiniz gibi Bayrak dosyasını masa üstüne alırsak aşağıdaki şekilde belirtiyor.
..\..\..\Desktop\Köprü\Bayrak.jpg
 
Katılım
5 Kasım 2006
Mesajlar
602
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Evet malisef Ali hocam.
Ne yaptıysam başaramadım.Hyperlink özelliklerini tek tek denedim onlarda işe yaramadı Address harici özellikleri.
Amacım köprü yolunu bulunca Shell komutuyla açmak yoksa köprü yolunu bulmadanda dosya açılıyor.
Dediğim gibi Shell komutuna ekleyeceğim uzantıyı.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,405
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
ThisWorkbook.Path & "\" & adres mantığıyla da dosya yolunu ekleyebilirsiniz.
 
Katılım
5 Kasım 2006
Mesajlar
602
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Merhaba,
ThisWorkbook.Path & "\" & adres mantığıyla da dosya yolunu ekleyebilirsiniz.
Merhaba.
Sanırım köprü ile alakalı değil bu kod.Benim maksadım hücrede köprü varsa onun adresini bulmak köprüdeki adres başka klasördede olabilir.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,405
Excel Vers. ve Dili
2007 Türkçe
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...
 
Katılım
5 Kasım 2006
Mesajlar
602
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Kodunuzu denedim.
Eğer Bayrak resmini Desktopa alırsanız C:\Users\Zafer\Desktop\Köprü\..\Bayrak.jpg gibi sounuç oluyor.

Sub kod1()
Adres = Range("A2").Hyperlinks(1).Address
If InStr(1, Adres, ":") > 0 Then
tamadres = Adres
Else
Adres = Mid(Adres, 4, Len(Adres))
tamadres = ThisWorkbook.Path & "\" & Adres
End If
MsgBox tamadres
End Sub

Eğer koda Bayrak Desktoptaysa ve kodunuza Adres = Mid(Adres, 4, Len(Adres)) bunu eklersem sonuç doğru oluyor.
Fakat Bayrak resmini Köprü klasörüne alırsam bukezde
C:\Users\Zafer\Desktop\Köprü\rak.jpg böyle oluyor sonuç.
Belki birkaç if yada mid ile sonuç elde edilebilir fakat sanırım randımanlı olmaz.


Yarın teferruatlıca biraz daha kodunuz üzerinde uğraşayım.Yinede başka yol varsa iyi olur.

Saygılar.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,405
Excel Vers. ve Dili
2007 Türkçe
Shell komutu ile birkaç deneme yaptım C:\Users\Zafer\Desktop\Köprü\..\Bayrak.jpg şeklinde elde edilen sonuç kullanımı engellemiyor. Ancak yol olarak bir yere yazdıracaksanız sorun olacaktır maalesef. Düşününce farklı çözümler bulunacaktır mutlaka, umarım istediğiniz gibi bir sonuç elde edebiliriz.
İyi geceler, iyi çalışmalar...
 
Katılım
5 Kasım 2006
Mesajlar
602
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Başka yere yazdırmayacağım.Shell olarak denemişsiniz ben deneyememiştim.Yarın tam denerim.Elinize sağlık.

İyi geceler.
 

Haluk

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

Bu iş için Excel'de ufak bir ayar hyperlink ayarı yapmak gerekiyor, daha doğrusu Excel'i kandırıyoruz..... Nasıl yapıldığını aşağıdaki animasyonda belirttim...

Excel 2010 versiyonda yapılacak işlem:

Excel'de File >> Info menüsü ile açılan pencerede sağ tarafta Properties altındaki Advanced Properties'i tıklıyoruz. Burada çıkan pencerede Summary sekmesinde Hyperlink Base kısmında, animasyonda görüldüğü gibi X:\ yazıp, pencereleri onaylayarak kapatıyoruz.

Kullanılan fonksiyon;

Kod:
Function myLink(myRange As Range)
    myLink = myRange.Hyperlinks(1).Address
End Function

Dosyanın harici linki:

https://drive.google.com/open?id=1iw-9scDQWajkoobkOOGvELfynhGHO7qA

Animasyon:




.
 

Ekli dosyalar

Son düzenleme:
Katılım
5 Kasım 2006
Mesajlar
602
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Haluk hocam bugün akşama doğru deneyeceğim nasipse.
Resimde telefondan açılmıyor.galiba flashplayer ile ilgili harici sitedeki.
 
Katılım
5 Kasım 2006
Mesajlar
602
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Alternatif:

Bu iş için Excel'de ufak bir ayar hyperlink ayarı yapmak gerekiyor, daha doğrusu Excel'i kandırıyoruz..... Nasıl yapıldığını aşağıdaki animasyonda belirttim...

Excel 2010 versiyonda yapılacak işlem:

Excel'de File >> Info menüsü ile açılan pencerede sağ tarafta Properties altındaki Advanced Properties'i tıklıyoruz. Burada çıkan pencerede Summary sekmesinde Hyperlink Base kısmında, animasyonda görüldüğü gibi X:\ yazıp, pencereleri onaylayarak kapatıyoruz.

Kullanılan fonksiyon;

Kod:
Function myLink(myRange As Range)
    myLink = myRange.Hyperlinks(1).Address
End Function

Dosyanın harici linki:

https://drive.google.com/open?id=1iw-9scDQWajkoobkOOGvELfynhGHO7qA

Animasyon:




.
Haluk hocam sizin kod altta.Benimkiyle aynı.
Sizin dosyada deneyince benim kodda sizin kodda doğru sonuçlar veriyor.
İlk eklediğim dosyada sizin kodda işe yaramıyor.Acaba neden olabilir?

Kod:
Function myLink(myRange As Range)
    myLink = myRange.Hyperlinks(1).Address
End Function
 

Haluk

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

Kodların pek önemi yok ...... Yaklaşık olarak hepsi aynı işi görür.

Önemli olan; 10. mesajda anlattığım ve animasyonda belirtilen ayarı yapmak.......!!!!

Bu ayarı çalıştığınız dosyada yapmazsanız, ne benim kod ne de sizin kod istediğiniz sonucu vermez.... Daha başka nasıl anlatabilirim bilmiyorum .......


.
 
Katılım
5 Kasım 2006
Mesajlar
602
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Üstad animasyonu izleyemiyorum bir türlü.
Acaba başka bir yere eklermisiniz?
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,398
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
"Altın Üye" olmadığınız için animasyonu da harici siteye yüklemiştim...... Aşağıdaki linkte;

https://hizliresim.com/X6V0G0

Bence 15 TL verip 1 yıllık üye olun, siz de rahat edin, biz de .....

.
 
Katılım
5 Kasım 2006
Mesajlar
602
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Anlaşamıyoruz bir türlü :)Animasyon link açılıyor izleyemiyorum.
Demem o ki drive ye eklermisiniz indirip izleyeyim.

Bu arada 10.cu mesaj değiştimi çünkü dün aklımda kalan mesaj biraz başka gibiydi sanki.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,398
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Animasyonun konusu zaten 10. mesajda 2010 versiyonu için yaptığım açıklamanın uygulaması......

Siz kendi kullandığınız versiyona uygulayacaksınız.

.
 
Katılım
5 Kasım 2006
Mesajlar
602
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Birde 10.cu mesajda anlattığınız ayar için kod varmı.
Yani kod kendi yapacak o ayarı.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,398
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Onu bildiğim için, adetim olmadığı halde çalışan örnek dosya ve animasyonu harici bir siteye yükledim..... sırf siz görün diye.

Daha nasıl yardımcı olunur bilmiyorum ki.......

.
 
Üst