Makro ile PDF dosya açmak

Battall

Altın Üye
Katılım
16 Ocak 2023
Mesajlar
13
Excel Vers. ve Dili
windows 10 Home Türkçe
Altın Üyelik Bitiş Tarihi
16-01-2025
Merhabalar,
Excel sayfasında düğme yardımıyla E8 hücresinde bulunan isme göre İçerisinde PDF dosyaları olan ve C:\Users\ilkyaz\Desktop\PDFLER konumunda bulunan dosyamdan E8 ile aynı isimli PDF i açmak ve yazdırmak istiyorum. Aynı zamanda yazdırılan isme ait yazdırma tarih ve saat bilgisi aynı Excel sayfasının Z sütununda aşağıya doğru kaydetmesini istiyorum.
Yardım edecek olanlara şimdiden çok teşekkür ederim.
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
.

İki kez uğraşma olmaması için soruyorum.
PDF yazdıracak ve aynı zamanda PDF de ekranda açık mı kalacak.
Yoksa direk yazdırması yeterli mi ?

.
 

Battall

Altın Üye
Katılım
16 Ocak 2023
Mesajlar
13
Excel Vers. ve Dili
windows 10 Home Türkçe
Altın Üyelik Bitiş Tarihi
16-01-2025
İlginiz için teşekkürler.
PDF in açılmasına gerek yok direk yazılması yeterli. Yazdırma sayısı 2 adet olursa çok iyi olur.
Teşekkür ederim.
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
.

Kod:
#If VBA7 And Win64 Then
    Private Declare PtrSafe 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
#Else
    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
#End If

Private Const SW_HIDE As Long = 0
Private Const SW_SHOWNORMAL As Long = 1
Private Const SW_SHOWMAXIMIZED As Long = 3
Private Const SW_SHOWMINIMIZED As Long = 2

Dim Yol

Sub KOD_YAZDIR()

        PDFismi = Range("E8") & ".PDF" 

        Yol = "C:\Users\ilkyaz\Desktop\PDFLER\" & PDFismi
      
        If Dir(Yol) = "" Then MsgBox Yol & Chr(10) & "Klasörde Bulunamadı!!!", vbCritical + vbOKOnly, "Hata": End
      
        For a = 1 To 2
            ShellExecute Application.hwnd, "print", Yol, vbNullString, Left(Yol, 3), SW_HIDE
            Application.Wait (Now() + TimeValue("00:00:03"))    ' 3 SANİYE
        Next a

        Cells(Cells(Rows.Count, "Z").End(3).Row + 1, "Z") = PDFismi & "-" & Format(Now, "dd.mm.yyyy hh:mm")
End Sub
.
 
Son düzenleme:

Battall

Altın Üye
Katılım
16 Ocak 2023
Mesajlar
13
Excel Vers. ve Dili
windows 10 Home Türkçe
Altın Üyelik Bitiş Tarihi
16-01-2025
Hocam,
Verdiğiniz kodu module kopyalayıp çalıştırdığımda, istediğim PDF klasörde olmasına rağmen klasörde bulunamadı uyarısı veriyor.
Benim kullandığım PDF isimleri rakamlardan oluşmaktadır. Bunun etkisi olabilir mi?
 

Battall

Altın Üye
Katılım
16 Ocak 2023
Mesajlar
13
Excel Vers. ve Dili
windows 10 Home Türkçe
Altın Üyelik Bitiş Tarihi
16-01-2025
Hocam Süper oldu.
Elinize, emeğinize sağlık
 
Üst