Topic "Download Newest File with VBA"

Author Message
[View user's profile]

Joined: 2016-08-31
Posts: 1
I'm able to download a specific file using the script below as described on this site:
Dim mySession As New Session

On Error Resume Next

Dim mySessionOptions As New SessionOptions
With mySessionOptions
.Protocol = Protocol_Ftp
.HostName = ""
.UserName = “MyName”
.Password = “MyPassword”
End With

mySession.Open mySessionOptions

Dim directoryInfo As RemoteDirectoryInfo
Set directoryInfo = mySession.ListDirectory("/MyDir/")

'Get Latest File

Dim myTransferOptions As New TransferOptions
myTransferOptions.TransferMode = TransferMode_Binary

Dim transferResult As TransferOperationResult
Set transferResult = mySession.GetFiles(“/MyDir/MyFile.csv", “C:\Temp\”, False, myTransferOptions)


Dim transfer As TransferEventArgs
For Each transfer In transferResult.Transfers
MsgBox "Download of " & transfer.FileName & " succeeded"


Unfortunately the script example provided for obtaining the latest file is written in C#
// Get list of files in the directory
RemoteDirectoryInfo directoryInfo = session.ListDirectory(remotePath);

// Select the most recent file
RemoteFileInfo latest =
Where(file => !file.IsDirectory)
.OrderByDescending(file => file.LastWriteTime)

I understand how to set the directoryinfo parameter, but does anyone have a VBA example of the query/properties/methods used to identify the most recent file?

Thank you.
[View user's profile]
Site Admin
Joined: 2002-12-10
Posts: 26890
Location: Prague, Czechia
In VBA, you have to iterate the directoryInfo.Files using For Each loop to find the latest one.

You can post new topics in this forum


What is WinSCP?

It is award-winning SFTP client, SCP client, FTPS client and FTP client integrated into one software program for file transfer to FTP server or secure SFTP server. [More]

And it's free!


About donations

$9   $19   $49   $99

About donations


WinSCP Privacy Policy

WinSCP License