woensdag 1 april 2015

Excel: simpel VBA script om PDF's te printen

De data:

Factuur Afdrukken
2015WM0101.pdf nee
2015WM0102.pdf ja
2015WM0103.pdf nee
2015WM0104.pdf ja

Het VBA script:

Sub printPDFfiles()
    Dim strProg As String
    Dim intRows As Integer
    Dim rngCel As Range
    Dim strFile As String
    Dim strFolderFrom As String
    
    Application.ScreenUpdating = False

    'Bepaal het pad waar de PDF's staan
    strFolderFrom = "D:\data\Essentra\pdf\"
    
   'bepaal het aantal gebruikte rijen
    intRows = ActiveSheet.UsedRange.Rows.Count
    
    'Controleer je ADOBE READER versie en het pad erheen, bijvoorbeeld:
    'strProg = "C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe"
    strProg = "C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe"
    
    
    'ActiveSheet.UsedRange.Columns(1).Range(Cells(2, 1), Cells(intRows, 1)).Cells
    'alle cellen uit het gebruikte bereik
    
    For Each rngCel In ActiveSheet.UsedRange.Columns(1).Range(Cells(2, 1), Cells(intRows, 1)).Cells
        strFile = rngCel.Value    'haal naam uit cel
    
        If rngCel.Offset(0, 1) = "ja" Then
            Shell (strProg & " /s /n /h /t " & strFolderFrom & strFile)
            '/s=don't show splash screen
            '/n=new instance
            '/h=minimised window
            '/t=print to default printer; or use /t <filename> <printername> <drivername> <portname>
        End If
    Next

    Application.ScreenUpdating = True
End Sub

Een reactie plaatsen