Pdf dosyası yazdırma

Katılım
17 Mayıs 2008
Mesajlar
28
Excel Vers. ve Dili
türkçe
Merhaba ben çok iyi bir access kullanıcısı değilim. Ancak 7,8 adet pdf dosyasını bir tıkla yazdırmak istiyourm. Yani access te bir sayfada sadece butona basarak pdf te bulunan bilgileri yazdırmak istiyorum. Yapabilecek arkadaşlar örnek le yardımcı olabilirmi. saygılarımla.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,332
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
Varsayılan yazıcıya gönderir.

Kod:
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

Sub PDF_Yazdir()
Dim lRet As Long

lRet = ShellExecute(0, "print", ThisWorkbook.Path & "\deneme.pdf", "", "", 0)
End Sub
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

Form üzerindeki bir butonda kullanabilirsiniz..:

Kod:
Dim AcReaderExe As String, dosyayolu As String
dosyayolu = "C:\dosyanız.pdf"

[B][I][COLOR="SeaGreen"]'Kullandığınız acrobat sürümüne göre değiştiriniz..:[/COLOR]
AcReaderExe = "C:\Program Files\Adobe\Reader 10.0\Reader\AcroRd32.exe"

RetVal = Shell(sAcrobatReaderExe & " /P " & Chr(34) & dosyayolu & Chr(34), 0)
SendKeys "{enter}"[/I][/B]
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Müsadenizle ben de bir örnek paylaşmak istiyorum...

* Referanslardan Adobe Acrobat XX.0 Type Libraby' yi seçin.
* Toolbox'tan Adobe PDF Reader'i seçin ve formda olmasını istediğiniz alana çizin.
* Dosya yolunu "C:\" sürücüsü altındaki klasörler olarak verdim, siz pdf dökümanlarınızın olduğu dosya olarak değiştirin.
* ListBox2' de çift tıklayarak pdf dökümanınızı Adobe PDF Reader'da görüntüleyebilir,
ListBox2' de seçtiğiniz pdf dökümanını PDF Dosyasını Aç butonuna basarak dosyanızı ayrı bir pencerede açabilir
ve Pdf Dosyasını yazdır butonuyla da ListBox2'de seçtiğiniz .pdf dosyalarını yazdırabilirsiniz...

Module kodları;
Kod:
[SIZE="2"]Sub Osma()
UserForm1.Show
End Sub[/SIZE]
UserForm kodları;
Kod:
[SIZE="2"]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 CommandButton1_Click()
On Local Error Resume Next
DosyaAdi = ListBox1.Value & "\" & ListBox2.Value
ShellExecute 0, "Open", DosyaAdi, "", "", vbNormalNoFocus
End Sub

Private Sub CommandButton2_Click()
Dim lRet As Long
For i = ListBox2.ListCount - 1 To 0 Step -1
    If ListBox2.Selected(i) = True Then
lRet = ShellExecute(0, "print", ListBox2.List(i), "", "", 0)
 ListBox2.Selected(i) = False
    End If
 Next i
End Sub


Private Sub ListBox1_Click()
Dim emre As String
 ListBox2.Clear
   ChDir (ListBox1.Value)
   emre = Dir("*.pdf")
     While emre <> ""
        ListBox2.AddItem emre
        emre = Dir
     Wend
End Sub

Private Sub ListBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    With AcroPDF1
        .LoadFile ListBox1.Value & "\" & ListBox2.Value
    End With
End Sub

Private Sub UserForm_Initialize()
Dim dos
   Set fso = CreateObject("Scripting.FileSystemObject")
  For Each dos In fso.GetFolder("C:\").Subfolders
       ListBox1.AddItem dos
 Next dos
End Sub[/SIZE]
Örnek dosyayı da ekliyorum...
 

Ekli dosyalar

Üst