Makro ile PDF Dosyasını Çağırma

Katılım
8 Aralık 2009
Mesajlar
44
Excel Vers. ve Dili
excel 2016
Merhabalar,
Makro ile PDF formatındaki dosyaları çağırmak istiyorum. Örnek dosyada bir kod yaptım fakat döngüsel hata veriyor ve daha iyi şekilde çalışacak şekilde geliştirilmesi lazım yardımcı olursanız çok sevinirim. Şimdiden teşekkürler.Örnek Dosya
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,449
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim Dosya_Adi As String, Yol As String
    If Intersect(Target, Range("A2:A" & Rows.Count)) Is Nothing Then Exit Sub
    Cancel = True
    If Target <> "" Then
        Dosya_Adi = Target.Offset(, 1).Text & "-" & Target.Text & ".pdf"
        Yol = ThisWorkbook.Path & "\dosya\"
        If Dir(Yol & Dosya_Adi) <> "" Then
            CreateObject("Shell.Application").Open Yol & Dosya_Adi
        Else
            MsgBox "Dosya bulunamadı!", vbCritical
        End If
    End If
End Sub
 
Katılım
8 Aralık 2009
Mesajlar
44
Excel Vers. ve Dili
excel 2016
Çok Teşekkür ederim. Gerçekten tam istediğim gibi olmuş ellerinize sağlık.
 
Katılım
8 Aralık 2009
Mesajlar
44
Excel Vers. ve Dili
excel 2016
Deneyiniz.

C++:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim Dosya_Adi As String, Yol As String
    If Intersect(Target, Range("A2:A" & Rows.Count)) Is Nothing Then Exit Sub
    Cancel = True
    If Target <> "" Then
        Dosya_Adi = Target.Offset(, 1).Text & "-" & Target.Text & ".pdf"
        Yol = ThisWorkbook.Path & "\dosya\"
        If Dir(Yol & Dosya_Adi) <> "" Then
            CreateObject("Shell.Application").Open Yol & Dosya_Adi
        Else
            MsgBox "Dosya bulunamadı!", vbCritical
        End If
    End If
End Sub
Tekrar merhaba Korhan bey, sayenizde yukarıdaki kodu uzun zamanadır kullanıyorum ve gerçekten çok işime yarıyor. Vaktiniz varsa bu kodla ilgili bir konuya daha değinmek istiyorum. Benim isteğim şu klasörümde pdf dışında jpg, docx gibi farklı uzantılı dosyalar da var, bu dosyaları açmak için pdf e çeviriyorum. Acaba Kodu biraz daha geliştirip aynı klasörde bulunan sadece pdf değil diğer uzantılı dosyaları da açmak mümkün mü?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,449
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim Dosya_Adi As String, Yol As String, Dosya As String
    If Intersect(Target, Range("A2:A" & Rows.Count)) Is Nothing Then Exit Sub
    Cancel = True
    If Target <> "" Then
        Dosya_Adi = Target.Offset(, 1).Text & "-" & Target.Text & ".*"
        Yol = ThisWorkbook.Path & "\dosya\"
        Dosya = Dir(Yol & Dosya_Adi)
        If Dosya <> "" Then
            CreateObject("Shell.Application").Open Yol & Dosya
        Else
            MsgBox "Dosya bulunamadı!", vbCritical
        End If
    End If
End Sub
 
Katılım
8 Aralık 2009
Mesajlar
44
Excel Vers. ve Dili
excel 2016
Deneyiniz.

C++:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim Dosya_Adi As String, Yol As String, Dosya As String
    If Intersect(Target, Range("A2:A" & Rows.Count)) Is Nothing Then Exit Sub
    Cancel = True
    If Target <> "" Then
        Dosya_Adi = Target.Offset(, 1).Text & "-" & Target.Text & ".*"
        Yol = ThisWorkbook.Path & "\dosya\"
        Dosya = Dir(Yol & Dosya_Adi)
        If Dosya <> "" Then
            CreateObject("Shell.Application").Open Yol & Dosya
        Else
            MsgBox "Dosya bulunamadı!", vbCritical
        End If
    End If
End Sub
Çok teşekkürler Korhan bey, çok başarılı şekilde çalıştı
 
Katılım
8 Aralık 2009
Mesajlar
44
Excel Vers. ve Dili
excel 2016
Merhaba Korhan bey, sizi tekrar rahatsız ediyorum.
yukarıdaki kod harika çalışıyor. Bir özellik daha eklemek istiyorum.
Tıpkı yukarıdaki kod mantığı ile çalışsın fakat pdf veya doc gibi dosyalarım açılmasın, sadece ilgili dosyanın konumu veya klasörü açılsın ki bileyim dosya hangi klasörde.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,449
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İstediğiniz özellik elbette eklenebilir. Fakat kod içinde klasör zaten belli.

Yol = ThisWorkbook.Path & "\dosya\"

Her aradığınız dosya için bu klasör açılacak.. Farklı bir klasör açılmayacağı için açıkçası talebiniz bana pek mantıklı gelmedi.
 
Katılım
8 Aralık 2009
Mesajlar
44
Excel Vers. ve Dili
excel 2016
Haklısınız yukarıdaki kodun mantığına göre gerek yok fakat ben yukarıdaki kodu biraz değiştirdim.
Şöyle anlatayım Dosya isminde ana klasörüm var ve bu ana klasörün alt klasörlerini oluşturdum. Bu alt klasörler Gelen, Giden, Diğer vs. gibi.
Bu her alt klasörde yüzlerce pdf, doc gibi dosyalar var. Şimdi yukarıdaki kodla bunları açabiliyorum sayenizde tabi.
Bazen bu pdf veya doc uzantılı dosyaların kopyası lazım oluyor ve doğal olarak şu yolu takip ediyorum Dosya > Giden > 12345.pdf gibi
Yüzlerce dosya olduğunu düşünürsek açıkçası daha pratik bir yol olur mu diye sormak istedim. Zamanınızı ayırdığınız için teşekkür ederim.
 
Üst