Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 63728 Skopiuj do schowka Putty VBA
Autor Wiadomość
dawidb82
Exceloholic


Posty: 238
Wysłany: 08-01-2019, 14:11   Putty VBA

Cześć,

Szukałem na forum, ale nie ma w tym temacie żadnych postów.

Czy da się napisać taki kod który pobierałałby dane z FTP ( z pliku .csv ) poprzez Putty?

Dzięki,
  
ID posta: 359984 Skopiuj do schowka
 
 
Wormsek 



Zaproszone osoby: 2
Pomógł: 909 razy
Posty: 5262

Wysłany: 08-01-2019, 17:28   

Nie potrzebujesz putty do FTP. Zobacz ten temat:
http://www.excelforum.pl/...m?highlight=ftp
_________________
Pozdro
Worm

FAQ - Najczęściej zadawane pytania.
JAK KORZYSTAĆ Z SZUKAJKI
Słownik funkcji

Znajdź nas na Facebook'u

A może fajny dodatek do excela?
ID posta: 359998 Skopiuj do schowka
 
 
dawidb82
Exceloholic


Posty: 238
Wysłany: 08-01-2019, 20:22   

po kliknięciu w ten link wyskakuje mi komunikat:

Taki post lub temat nie istnieje, być może został przed chwilą usunięty, wróć i spróbuj ponownie

dawidb82 w dniu: 2019-01-08, 20:26 napisał/a:
ale uprzedzając zanim link zadziała.

- nie mogę instalować żadnych dodatków bo komputer jest w domenie, z dość mocnymi restrykcjami
- nie mogę korzystać z rozwiązań licencyjnych, bo będzie z tego korzystać kilka innych osób
- dział security w mojej firmie zasugerował zrobienia skryptu w putty jako rozwiązania które jest w stanie zaakceptować

edycja Zbiniek:
Proszę korzystać z opcji edytowania wypowiedzi – przycisk „edytuj”. Opcja jest dostępna bodajże przez 30 minut od momentu wysłania wypowiedzi.
  
ID posta: 360014 Skopiuj do schowka
 
 
sebekoo
forumowicz


Posty: 15
Wysłany: 09-01-2019, 07:07   

Zobacz, może to coś pomoże ciach
  
ID posta: 360047 Skopiuj do schowka
 
 
dawidb82
Exceloholic


Posty: 238
Wysłany: 09-01-2019, 17:00   

Dzięki, działa pobieranie z FTP i pobrany plik finalnie ląduje na pulpicie.
Czy da się zmodyfikować ten kod tak żeby pobrany plik trafiał do jakiegoś folderu który jest zawsze w Windowsach 7,8,10, a póżniej żeby automatycznie otwierał się też w określonej zakładce w arkuszu z którego to pobieram?

Kod:
Option Explicit

Private Function SelectFile() As String
    Dim filename As String
   
    filename = ""
   
    With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False
        .Show
        On Error Resume Next
            filename = .SelectedItems(1)
            Err.Clear
        On Error GoTo 0
    End With
   
    SelectFile = filename
End Function

Private Function GetFileName(path As String) As String
    Dim v As Variant
   
    v = Split(path, "/")

    GetFileName = Trim(v(UBound(v)))
End Function

Private Sub btnDownload_Click()
    Dim pscp As String
    Dim ip As String
    Dim username As String
    Dim password As String
    Dim port As String
    Dim pth As String
    Dim file As String
    Dim cmd As String

    pscp = """" & shtSSH.Range("path_pscp").Value & """"
    ip = shtSSH.Range("server_ip").Value
    username = shtSSH.Range("server_user").Value
    password = shtSSH.Range("server_pswd").Value
    port = shtSSH.Range("ssh_port").Value
    pth = shtSSH.Range("server_dwnl_file").Value
    file = """" & ThisWorkbook.path & "\" & GetFileName(pth) & """"
   
    If Len(port) > 0 Then
        port = " -P " & port
    End If
   
    cmd = pscp & " -sftp -l " & username & " -pw " & password & " " & port & " " & ip & ":" & pth & " " & file
   
    Call Shell(cmd, 1)
   
    shtSSH.Range("server_dwnl_file").Select
End Sub

Private Sub btnFileUpl_Click()
    Dim filename As String
   
    filename = SelectFile()
   
    If Len(filename) > 0 Then
        shtSSH.Range("path_file").Value = filename
    End If
End Sub

Private Sub btnPutty_Click()
    Dim filename As String
   
    filename = SelectFile()
   
    If Len(filename) > 0 Then
        If Right(filename, 9) = "\pscp.exe" Then
            shtSSH.Range("path_pscp").Value = filename
        Else
            MsgBox "Please select PSCP (an SCP client)" + Chr(13) + Chr(10) + "Default path: C:\Program Files\Putty\pscp.exe"
        End If
    End If
End Sub

Private Sub btnUpload_Click()
    Dim pscp As String
    Dim ip As String
    Dim username As String
    Dim password As String
    Dim port As String
    Dim pth As String
    Dim file As String
    Dim cmd As String

    pscp = """" & shtSSH.Range("path_pscp").Value & """"
    ip = shtSSH.Range("server_ip").Value
    username = shtSSH.Range("server_user").Value
    password = shtSSH.Range("server_pswd").Value
    port = shtSSH.Range("ssh_port").Value
    pth = shtSSH.Range("server_path").Value
    file = """" & shtSSH.Range("path_file").Value & """"
   
    If Len(port) > 0 Then
        port = " -P " & port
    End If
   
    cmd = pscp & " -sftp -l " & username & " -pw " & password & " " & port & " " & file & " " & ip & ":" & pth
   
    Call Shell(cmd, 1)

    shtSSH.Range("path_file").Select
End Sub
  
ID posta: 360107 Skopiuj do schowka
 
 
dawidb82
Exceloholic


Posty: 238
Wysłany: 11-01-2019, 16:06   

Uproszczę lekko to moje poprzednie zapytanie,

Prośba o pomoc w przerobieniu poniższego kodu, tak aby pobierał dane do C:\Users\Public\Documents\(nazwa pobranego pliku )

A z tej lokalizacji aby przenosił pobrany plik do Arkusza "temp".

Przy kolejnym pobraniu wymagane jest nadpisywanie lokalizacji C:\Users\Public\Documents\(nazwa pobranego pliku ) oraz "temp"

Kod:

Private Sub btnDownload_Click()
    Dim pscp As String
    Dim ip As String
    Dim username As String
    Dim password As String
    Dim port As String
    Dim pth As String
    Dim file As String
    Dim cmd As String

    pscp = """" & shtSSH.Range("path_pscp").Value & """"
    ip = shtSSH.Range("server_ip").Value
    username = shtSSH.Range("server_user").Value
    password = shtSSH.Range("server_pswd").Value
    port = shtSSH.Range("ssh_port").Value
    pth = shtSSH.Range("server_dwnl_file").Value
    file = """" & ThisWorkbook.path & "\" & GetFileName(pth) & """"
   
    If Len(port) > 0 Then
        port = " -P " & port
    End If
   
    cmd = pscp & " -sftp -l " & username & " -pw " & password & " " & port & " " & ip & ":" & pth & " " & file
   
    Call Shell(cmd, 1)
   
    shtSSH.Range("server_dwnl_file").Select
End Sub


Dzięki,
ID posta: 360245 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum

Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe