Program Dışında Bir Pdf Dosyasını Açtırmak

21/07/2024, 16:10

karaayhan

açılır kutudan seçtiğimiz döneme ait duyuruya göre
klasörde bulunun o döneme ait pdf dosyasını açtırmak istiyorum
21/07/2024, 22:52

onur_can

Sn karaayhan, öncelikle açılan kutunun Güncelleştirme Sonrası olay yordamına aşağıdaki kodu ekleyin.
Kod:
PDFAdi = CurrentProject.Path & "\DUYURU\" & Forms!Form1!duyurutarih & ".pdf"
Call PDFDosyaAc
Daha sonra komutu çalıştırabilmek için bir modüle ihtiyacımız var. Aşağıdaki kodu yeni bir modül oluşturup ekleyin.
Kod:
Public PDFAdi As String
Public Sub PDFDosyaAc()

    If Len(Dir("C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe", vbDirectory)) > 0 Then
        Call Shell("C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe /AZoom=100=OpenActions " & PDFAdi, vbNormalFocus)
    End If
        If Len(Dir("C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe", vbDirectory)) > 0 Then
            Call Shell("C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe /AZoom=100=OpenActions " & PDFAdi, vbNormalFocus)
        End If
            If Len(Dir("C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe", vbDirectory)) > 0 Then
                Call Shell("C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe /AZoom=100=OpenActions " & PDFAdi, vbNormalFocus)
            End If
                If Len(Dir("C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe", vbDirectory)) > 0 Then
                    Call Shell("C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe /AZoom=100=OpenActions " & PDFAdi, vbNormalFocus)
                End If
End Sub
Yalnız şunuda belirteyim DUYURU klasörünüzün içindeki tüm dosyalarınız 2020 Yılını gösteriyor. Muhtemelen kopyalayıp yapıştırmışsınız. Onun için hep aynı dosyayı açıyor demeyin.
Eğer dosya açma hatası ile karşılaşırsanız muhtemelen Acrobat Readerin yolu farklıdır. Bu yolu eklemiş olduğunuz modül üzerinden düzeltebilirsiniz.
22/07/2024, 09:29

karaayhan

sayın onurcan hocam, ellerinize sağlık kodları düzelttim çalıştı harika bir örnek olmuş
22/07/2024, 13:54

berduş

aşağıdaki kodu dener misiniz?
Dim shell_app As Object
Dim pdfYol As String
pdfYol = CurrentProject.Path & "\DUYURU\" & duyurutarih.Value & ".pdf"
'Ref. için Shell32.dll kütüphanesine bakın.
Set shell_app = CreateObject("Shell.Application")
Debug.Print pdfYol
shell_app.Open "" & pdfYol

Set shell_app = Nothing