DOSYADAKİ KLASÖRLERİ MAKRO İLE YAZDIRMA

Katılım
21 Şubat 2009
Mesajlar
42
Excel Vers. ve Dili
excel 2007
Merhaba Arkadaşlar

Aynı yerde bulunan bir excel sayfam ve klasörlerim (her klasör içinde bir kaç pdf) var. Excel sayfası b1 hücresine "sarı klasör" yazıp butona tıkladığımda sarı klasör içindeki pdf lerin yazdırılmasını istiyorum. Bu konuda yardımcı olursanız sevinirim.
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
aşağıdaki kod düzeneğini ister bir modüle ister sayfa vba arayüzüne yapıştırıp butonla ilişkilendir.
Butona basınca örneğin a1 hücresini seçili hale getir ki a1 den itibaren satır satır dosya adlarını sıralayacaktır.
Karşına bir dosya seçme penceresi gelecek orda hangi klasör altındaysa bu pdf dosyaların o klasörü seçiyorsun. ve o klaösr altındaki pdf dosyalarını a sütununda satır satır isimlerini sıralar. sonrasında bu sütuna gelmiş bilgileri yazıcıdan çıktısını alırsın

Kod:
Sub FileNametoExcel()
'UpdatebyExtendoffice201709027
    Dim I As Long
    Dim xRg As Range
    Dim xAddress As String
    Dim xFileName As String
    Dim xFileDlg As FileDialog
    Dim xFileDlgItem As Variant
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Select a cell to place name list:", "Excel.web.tr", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Set xRg = xRg(1)
    xRg.Value = "Dosya Adı"
    With xRg.Font
    .Name = "Arial"
    .FontStyle = "Bold"
    .Size = 10
    End With
    xRg.EntireColumn.AutoFit
    Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
    I = 1
    If xFileDlg.Show = -1 Then
        xFileDlgItem = xFileDlg.SelectedItems.Item(1)
        xFileName = Dir(xFileDlgItem & "\")
        Do While xFileName <> ""
        '***************************************************************************************************************************************************************************************
        '******bu satırda dosya uzantılarını kendin belirleyebilirsin. + InStr(1, xFileName, ".xxx" şeklinde dosya adı uzantısı ekleyerek çekmek istediğin uzantıları çekebilirsin.*****
            If InStr(1, xFileName, ".pdf") + InStr(1, xFileName, ".PDF") > 0 Then
        '***************************************************************************************************************************************************************************************
                xRg.Offset(I).Value = xFileName
                I = I + 1
            End If
            xFileName = Dir
        Loop
    End If
    Worksheets("Sheet3").Columns("A").AutoFit

    Application.ScreenUpdating = True
End Sub
 
Katılım
21 Şubat 2009
Mesajlar
42
Excel Vers. ve Dili
excel 2007
Emeğiniz için teşekkürler lakin bir yanlış anlaşılma var. Benim istediğim dosya içindeki pdf leri print etsin. Yazdırmak derken kastım print etmesiydi.
a1 hücresindeki isme eş gelen klasörün içindeki pdf leri print etsin, şeklinde bir talepti.
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
tamam bende zaten excel listesine bu pdf leri dökecek sonra bir yazdır komutu ekleyip dökülen listeyi ardından yazdırma işlemine geçtirebilirsin.

ama liste dökmeden bir klasör içerğindeki pdf dosyaları yazdırma yapılabilir mi onu bilemiyorum yani diğer üstadlar biliyorsa cevaplarsa seviniriz.
 
Katılım
21 Şubat 2009
Mesajlar
42
Excel Vers. ve Dili
excel 2007
İlginiz için teşekkürler. Emeğinize sağlık.
 
Üst