Excelde açılan listeye farklı hyperlink atama

Katılım
15 Ocak 2020
Mesajlar
12
Excel Vers. ve Dili
Office 365 İngilizce
Merhabalar,

Excelde oluşturduğum açılır listede her seçtiğim şeyin farklı bir pdfi açmasını istiyorum.
Örnek; Açılan listede 1 ve 2 olsun 1 i seçip üstüne basınca 1.pdf dosyasına 2yi seçim üstüne basınca 2.pdf dosyasına yönlendirsin
Nasıl yapabilirim?

Teşekkürler,
 

byfika

Altın Üye
Altın Üye
Katılım
15 Ağustos 2009
Mesajlar
499
Excel Vers. ve Dili
Excel Vers. ve Dili : Ofis 2016 Tr
Altın Üyelik Bitiş Tarihi
13.09.2027
Merhabalar,
Userformlu ve sayfa üzerindeki açılır listeli örnek ekledim. Aşağıdaki kodlar açılır liste içindir. Deneyiniz. İyi çalışmalar.

A1 hücresine 1 veya (PDF ismi yazabilirsiniz),
A2 hücresine 2 veya (PDF ismi yazabilirsiniz) b1 e veri doğrulamadan açılır listede 1 veya (PDF ismi yazabilirsiniz) ve 2 veya (PDF ismi yazabilirsiniz) yi gösterin, ben PDF isimlerini 1 ve 2 olarak yazdım, sayfanın kod bölümüne aşağıdaki kodu yazıp seçim yapıldığında o PDF dosyası açılır. PDF dosyaları ile excel aynı klasörde olacak.


Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long


Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
DosyaAdi = ThisWorkbook.Path & "\" & [b1].Value & ".pdf"
ShellExecute 0, "Open", DosyaAdi, "", "", vbNormalNoFocus
End Sub
 

Ekli dosyalar

Katılım
15 Ocak 2020
Mesajlar
12
Excel Vers. ve Dili
Office 365 İngilizce
Merhabalar,
Userformlu ve sayfa üzerindeki açılır listeli örnek ekledim. Aşağıdaki kodlar açılır liste içindir. Deneyiniz. İyi çalışmalar.

A1 hücresine 1 veya (PDF ismi yazabilirsiniz),
A2 hücresine 2 veya (PDF ismi yazabilirsiniz) b1 e veri doğrulamadan açılır listede 1 veya (PDF ismi yazabilirsiniz) ve 2 veya (PDF ismi yazabilirsiniz) yi gösterin, ben PDF isimlerini 1 ve 2 olarak yazdım, sayfanın kod bölümüne aşağıdaki kodu yazıp seçim yapıldığında o PDF dosyası açılır. PDF dosyaları ile excel aynı klasörde olacak.


Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long


Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
DosyaAdi = ThisWorkbook.Path & "\" & [b1].Value & ".pdf"
ShellExecute 0, "Open", DosyaAdi, "", "", vbNormalNoFocus
End Sub
Merhabalar,

Öncelikle değerli cevabınız için teşekkür ederim. Fakat bu kod sanırım 32 bit için yazılmış. Aşağıda aldığım hatanın açıklamasını bırakıyorum. Error verdiği esnada da ilk satırdaki Function kelimesini seçiyor.

"Compile eror

The code in this project must be updated for use on 64-bit systems..."

Teşekkürler.
 

byfika

Altın Üye
Altın Üye
Katılım
15 Ağustos 2009
Mesajlar
499
Excel Vers. ve Dili
Excel Vers. ve Dili : Ofis 2016 Tr
Altın Üyelik Bitiş Tarihi
13.09.2027
Merhabalar,
sayfa2 ve userform kodlarına Private sub lardan önce alttaki kodu ilave edip dener misiniz?

#If VBA7 Then
Private Declare PtrSafe Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As LongPtr, ByVal hWndInsertAfter As LongPtr, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
#Else
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
#End If
 
Üst