Looking to SFTP download files based on dates written in filenames

Advertisement

Guest1111
Guest

Looking to SFTP download files based on dates written in filenames

Hi everyone

I am using vba to download files into a folder then open in excel. I have no other coding knowledge, so I cannot move to powershell, C#, etc.

I want to be able to download SFTP files based on file names. The last 6 or 8 digits in the file represent date, either MMDDYYYY or MMYYYY.
I have code written out to identify all of these and parse the text in the file name to get the date, I just dont know the syntax of the WinSCP codes to be able to extract files from the folder based on user inputs only.

This is the code I've got from when we used FTP:

            
NamePart = Split(FileNameArray(1), "_")
            Parts = Split(NamePart(1), ".")

            Set CurrReport = New Report
            
            If Len(Parts(0)) = 8 Then
                CurrReport.Month = Mid(Parts(0), 1, 2)
                CurrReport.Day = Mid(Parts(0), 3, 2)
                CurrReport.Year = Mid(Parts(0), 5, 4)
            ElseIf Len(Parts(0)) = 6 Then
                CurrReport.Month = Mid(Parts(0), 1, 2)
                CurrReport.Year = Mid(Parts(0), 3, 4)
            End If

How can I apply this to my SFTP code and modify it to only download the files I want based on variable string name?

Currently, my SFTP code does this and downloads ALL files from reports:
     
Dim transferResult As TransferOperationResult
    Set transferResult = mySession.GetFiles("/reports/*", "F:/SFTP/Downloads\", False, myTransferOptions)

Reply with quote

Advertisement

martin
Site Admin
martin avatar
Joined:
Posts:
29,070
Location:
Prague, Czechia

Re: Looking to SFTP download files based on dates written in filenames

Well, this is not WinSCP, but VBA question.
Anyway, use & to concatenate strings in VBA, like:

Set transferResult = mySession.GetFiles("/reports/" & myvariable, "F:/SFTP/Downloads\", False, myTransferOptions)

Reply with quote

Advertisement

You can post new topics in this forum