Striker
Striker

Reputation: 247

exporting pdf file names in a folder to excel

I have created a code to give me path and there names for all the files in a folder to excel. But my problem is its giving me file names of all the files in that folder. I just want to search and retrieve names of only pdf files to excel.

Here is what I have:

Sub Example1()
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Dim i As Integer

'Create an instance of the FileSystemObject
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Get the folder object
Set objFolder = objFSO.GetFolder(Range("H1").Value)

i = 1

'loops through each file in the directory and prints their names and path

For Each objFile In objFolder.Files
'print file path
Cells(i + 3, 2) = objFile.Path
i = i + 1
Next objFile

End Sub

Upvotes: 2

Views: 3346

Answers (3)

Egie Boy Aguspina
Egie Boy Aguspina

Reputation: 29

This is not a free coding service but i would answer this anyway:

For Each objFile In objFolder.Files
    if right(objFile.Path,3) = "pdf" then
       'print file path
        Cells(i + 3, 2) = objFile.Path
        i = i + 1
    end if
 msgbox ("Answer are here dont troll on someone")
Next objFile

Upvotes: -1

Scott Craner
Scott Craner

Reputation: 152495

As per the comments. You need to test if the last three characters are 'pdf'

So in your for loop add the if statement

For Each objFile In objFolder.Files
    if right(objFile.Path,3) = "pdf" then
       'print file path
        Cells(i + 3, 2) = objFile.Path
        i = i + 1
    end if
Next objFile

Upvotes: 7

Raugmor
Raugmor

Reputation: 566

This should work:

Sub Find_PDF()

Dim FileToCheck As String, FilePath As String, FileWildCard As String

FilePath = "c:\YOUR FILE PATH\"
FileWildCard = "*.pdf"

FileToCheck = Dir(FilePath & FileWildCard)

Do While FileToCheck <> ""

    i = i + 1

    Sheets("Sheet1").Range("A" & i).Value = FileToCheck

    FileToCheck = Dir()

Loop


End Sub

Upvotes: 0

Related Questions