Ошибка на Session.Open в Winscp - VBA

Привет, я пытаюсь загрузить файл в WinSCP через VBA. mySession.Open mySessionOptions получил Error - Network error connection to "103.231.8.66" time out, Я погуглил, но не понял. Любое предложение будет оценено

 Sub test()
    Dim wbs As String
     wbs = "D:\Ashok\Work\Loan_Input_Template V8-Library.xlsx"
    Dim mySession As New Session

        ' Enable custom error handling
        On Error Resume Next

       Call Upload(mySession, wbs)

        ' 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

              '  wb.Close SaveChanges:=True

    'FileSystemObject.DeleteFile sPathName

    End Sub

     Private Sub Upload(ByRef mySession As Session, ByRef wb1 As String)  'error line
     Dim wb As Workbook
    Set wb = Workbooks.Open(wb1)
        ' Setup session options
        Dim mySessionOptions As New SessionOptions
        With mySessionOptions
            .Protocol = Protocol_SFTP
            .HostName = "103.231.8.66"
            .UserName = "username"
            .Password = "password"
            .SshHostKeyFingerprint = "ssh-ed25519 256 df:94:44:56:1b:c2:75:8b:b4:58:3a:e2:ef:2e:0d:78"
        End With

        ' Connect

        mySession.Open mySessionOptions ' ERROR LINE

        ' Upload files
        Dim myTransferOptions As New TransferOptions
        myTransferOptions.TransferMode = TransferMode_Binary
        Dim transferResult As TransferOperationResult

'i am not sure this line will working or not

        Set transferResult = mySession.PutFiles(wb, "/home/sftpcf/", False, myTransferOptions)

        ' Throw on any error
        transferResult.Check

        ' Display results
        Dim transfer As TransferEventArgs
        For Each transfer In transferResult.Transfers
            MsgBox "Upload of " & transfer.FileName & " succeeded"
        Next

    End Sub

сообщение об ошибке:

введите описание изображения здесь

Ручная регистрация:

введите описание изображения здесь

2 ответа

Решение

Наконец нашел ответ на мой вопрос: Добавление порта нет .PortNumber = XXXX в mySessionOptions и я удалил Set wb = Workbooks.Open(wb1), его работы отлично

WinSCP VBA

Номер порта WinSCP по умолчанию соответствует используемому протоколу, т. Е. SFTP-порт 22, FTP-порт 21.

Параметры сеанса по умолчанию для протокола - SFTP с портом 22.

Если вы используете SFTP, то для sessionOptions не требуется номер порта или протокол.

Ниже приведен пример SFTP по умолчанию.

          Dim mySessionOptions As New SessionOptions
    With mySessionOptions
        .HostName = "103.231.8.66"
        .UserName = "username"
        .Password = "password"
        .SshHostKeyFingerprint = "ssh-ed25519 256 df......"
    End With
Другие вопросы по тегам