• DİKKAT

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

A sutununda yazılı pdf dosya isimlerini yazıcıdan çıktı almak

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,181
Excel Vers. ve Dili
Ofis 2019 Türkçe
A sutununda; C sürücüsündeki AYRILANLAR klasörü içinde bulunan dosya isimlerinden saadece TC kimlik numaraları yazılı, Klasörde ise TC kimlik numarasından sonra ad soyad şeklinde pdf dosyaları bulunmaktadır.

Kod:
Sub KAPALI_PDF_LERI_YAZDIR()
Dim belge As String
Application.ScreenUpdating = False
On Error Resume Next
For sat = 2 To Cells(Rows.Count, "A").End(3).Row
    belge = "C:\AYRILANLAR\" & Cells(sat, 1).Text & ".pdf"
    If Dir(belge) <> "" Then _
        CreateObject("Shell.Application").Namespace(0).ParseName(belge).InvokeVerb ("Print")
                 Application.Wait Now + TimeSerial(0, 0, 3)

Next

MsgBox "işlem tamam"
Application.ScreenUpdating = True
End Sub

Sn. @Korhan Ayhan Hocam;
Yukarıdaki kod ile Asutununda yazılı C:\AYRILANLAR klasöründeki sırasıyla yazdırabiliyoruz. Ancak Dosyaların bire bir eşleşmesi durumunda.
Ben ile başlayan şeklinde yani TC numarasına göre yazdırmak istiyorum. .pdf in başına yıldız koydum ancak olmadı. Bu konuda yardımcı olabilir misiniz.
 
Aşağıdaki kısmı değiştirip dener misiniz.

Kod:
    belge = "C:\AYRILANLAR\" & "*" & Cells(sat, 1).Text & "*" & ".pdf"
 
belge = "C:\AYRILANLAR\" & "*" & Cells(sat, 1).Text & "*" & ".pdf"

Kod:
Sub KAPALI_PDF_LERI_YAZDIR()
Dim belge As String
Application.ScreenUpdating = False
On Error Resume Next
For sat = 2 To Cells(Rows.Count, "A").End(3).Row
    belge = "C:\AYRILANLAR\" & "*" & Cells(sat, 1).Text & "*" & ".pdf"
    If Dir(belge) <> "" Then _
        CreateObject("Shell.Application").Namespace(0).ParseName(belge).InvokeVerb ("Print")
    Application.Wait Now + TimeSerial(0, 0, 3)
Next

MsgBox "işlem tamam"
Application.ScreenUpdating = True
End Sub

Sn. @Erdem_34 makro çalışıyor hata vermiyor ancak yazıcıya herhangi bir evrak gitmiyor, pdf dosyası vs. gibi de açmıyor.
 
Belge satırının altına aşağıdaki kod satırı ekleyerek F8 ile adımlayarak çalıştırın ve dosya değişkeninin aldığı ismi kontrol edin.

Kod:
dosya = Dir(belge)
 
Kod:
Sub KAPALI_PDF_LERI_YAZDIR()
Dim belge As String
Application.ScreenUpdating = False
Yol = "C:\AYRILANLAR\"
'On Error Resume Next
For sat = 2 To Cells(Rows.Count, "A").End(3).Row
belge = Yol & "*" & Cells(sat, 1).Text & "*" & ".pdf"
Dosya = Dir(belge)
belge1 = Yol & Dosya
If Dir(belge1) <> "" Then _
        CreateObject("Shell.Application").Namespace(0).ParseName(belge1).InvokeVerb ("Print")
                 Application.Wait Now + TimeSerial(0, 0, 3)

Next

MsgBox "iþlem tamam"
Application.ScreenUpdating = True
End Sub

Sn. @Erdem_34 Hocam yukarıdaki kod ile oldu, teşekkürler.
 
Geri
Üst