2017-12-26 10 views
-1

Hallo Ich versuche, die Datei in WinSCP über VBA zu laden. die mySession.Open mySessionOptions bekam Error - Network error connection to "103.231.8.66" time out. Ich googelte, bekam aber keine Idee. jeder Vorschlag würde geschätztFehler auf Session.Open in Winscp - VBA

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 

Fehler msg:

enter image description here

Manuelle Protokollierung:

enter image description here

+0

@ashleedawg wb Datei öffnet, dass kein Problem. Problem wird nicht geöffnet winscp – Ashok

+0

Können Sie eine Verbindung zur IP-Adresse _manuell_ von Ihrem Standort herstellen? – ashleedawg

+0

durch manuelle @ashleedawg es öffnet sich aber über ein Skript ist es nicht – Ashok

Antwort

0

Schließlich fand meine Frage beantworten: Port Kein .PortNumber = XXXX in mySessionOptions Hinzufügen und i entfernt Set wb = Workbooks.Open(wb1). seine Werke perfekt