Download Newest File with VBA
Hello,
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 = "ftp.MySite.com"
.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)
transferResult.Check
Dim transfer As TransferEventArgs
For Each transfer In transferResult.Transfers
MsgBox "Download of " & transfer.FileName & " succeeded"
Next
mySession.Dispose
---------------
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 =
directoryInfo.Files
Where(file => !file.IsDirectory)
.OrderByDescending(file => file.LastWriteTime)
.FirstOrDefault();
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.
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 = "ftp.MySite.com"
.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)
transferResult.Check
Dim transfer As TransferEventArgs
For Each transfer In transferResult.Transfers
MsgBox "Download of " & transfer.FileName & " succeeded"
Next
mySession.Dispose
---------------
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 =
directoryInfo.Files
Where(file => !file.IsDirectory)
.OrderByDescending(file => file.LastWriteTime)
.FirstOrDefault();
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.