• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Makro ile PDF dosya açmak

  • Konbuyu başlatan Konbuyu başlatan Battall
  • Başlangıç tarihi Başlangıç tarihi
Katılım
16 Ocak 2023
Mesajlar
13
Excel Vers. ve Dili
windows 10 Home Türkçe
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.
 
.

İ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 ?

.
 
İ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.
 
.

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:
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?
 
Hocam Süper oldu.
Elinize, emeğinize sağlık
 
Geri
Üst