I am getting the above error despite having selected the "ignore permissions errors on the console". The result is that of the ten folders I am trying to transfer it transfers one and then stops on the first file. I have read of command options using VB (Setting preserve time stamp option to false) and was wondering if there is something I can add to the code below (VBA) to prevent this error and allow my files/folders to be transferred.
Option Explicit
Sub VariableFTP()
Dim mySession As New Session
' Enable custom error handling
Upload mySession
' Query for errors
If Err.Number <> 0 Then
MsgBox "Error: " & Err.Description
' Clear the error
Err.Clear
End If
' Disconnect, clean up
mySession.Dispose
' Restore default error handling
On Error GoTo 0
End Sub
Private Sub Upload(ByRef mySession As Session)
''this is where we create a variable that allows our filepath _
to change
Dim FilePathx As String
Dim FilePathY As String
Dim FilePathz As String
Dim FundName As String
Dim Datex As String
Sheets("Paperless Checklist ").Select
FundName = Range("B6")
Sheets("Variables").Select
Datex = Range("B46")
'FilePathx = Range("B22") & "\*"
FilePathx = Range("B22") & "\"
FilePathz = "/Usr/dubtrustee/"
FilePathY = FilePathz & "/" & FundName & " " & Datex
'FilePathx = Range("c2") & "\*"
'FilePathY = Range("c4")
''check to see if the source filepath (filepathx)exists
If Len(Dir(FilePathx, vbDirectory)) = 0 Then
MsgBox "The Source File Path does not exist. Please check this file path.", vbCritical
Exit Sub
Else
End If
''check to see if the source filepath (filepathx) actually contains files
If Dir(FilePathx & "*.*") = "" Then
MsgBox "The Source File Path does not contain any files. Please copy your client reports into this file path.", vbCritical
Exit Sub
Else
Dim mySessionOptions As New SessionOptions
With mySessionOptions
.Protocol = Protocol_Sftp
.HostName = "**********"
.UserName = "******"
.Password = "*********"
.SshHostKeyFingerprint = "*************************************"
End With
' Connect
mySession.Open mySessionOptions
' Upload files
Dim myTransferOptions As New TransferOptions
myTransferOptions.TransferMode = TransferMode_Binary
Dim transferResult As TransferOperationResult
'we use this line if we want to take just the files not the folder
'Set transferResult = mySession.PutFiles(FilePathx, "/Usr/sebprime/", False, myTransferOptions)
Set transferResult = mySession.PutFiles(FilePathx, FilePathY, False, myTransferOptions)
' Throw on any error
transferResult.Check
MsgBox "Transfer Successful", vbInformation
End If
End Sub