• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Excel i kullanarak ftp kullanarak dosya gonderme

Katılım
9 Kasım 2005
Mesajlar
9
Merhaba arkadaşlar

Excel ile bir dizinin içindeki xxx.txt dosyasını belli aralıklarla ftp yi kullanarak ftp.xxxx.com/txtler/ adresine upload edebilirmiyiz.
elimde c:\txtler\xxx.txt var ve ftp.xxxx.com/txtler adresi var ben bunu excel i kullanarak yapmak istiyorum. ftp programları ile yapabilirsiniz diyorsunuz. ama ben burda xxx.txt dosyasını excel den oluşturuyorum.
yardımlarınız için teşekkur ederim
 
Bu şekilde FTP ekranını görüntüleyip, manuel olarak dosyayı yerleştirseniz olmaz mı ?

Kod:
Sub Test()
    Dim MyFTP As Variant
    MyFTP = Shell("Explorer.exe ftp://KULLANICI_ADI:SIFRE@URL_ADRESI/, /e", vbNormalFocus)
End Sub
 
Ya da, aşağıdaki linkte bir VBscript var ...

http://billsway.com/vbspage/

Buradaki "VBScript FTP Upload Tool" script'ini modifiye edip, kullanabilirsiniz veya kodları VBA'e adapte edebilirsiniz.

Ayrıca, aşağıdaki linkte yer alan kodları kendinize uyarlayıp da yapabilirsiniz.

http://www.bygsoftware.com/Excel/VBA/ftp.htm

Bunlardan biri, özellikle en son verdiğim link işinize yarayacaktır.
 
Değerli Haluk Hocam
Enson cevabınızdaki ikinci link olacak gibi ama excel im zayıf olduğundan işin içinden çıkamadım kendime göre uyarlayamadım

Kod:
 Sub PublishFile()
Dim strDirectoryList As String
Dim lStr_Dir As String
Dim lInt_FreeFile01 As Integer
Dim lInt_FreeFile02 As Integer

On Error GoTo Err_Handler
    lStr_Dir = ThisWorkbook.Path
    lInt_FreeFile01 = FreeFile
    lInt_FreeFile02 = FreeFile

    '' ANW  07-Feb-2003 :
    strDirectoryList = lStr_Dir & "\Directory"

    '' Delete completion file
    If Dir(strDirectoryList & ".out") <> "" Then Kill (strDirectoryList & ".out")

    '' Create text file with FTP commands
    Open strDirectoryList & ".txt" For Output As #lInt_FreeFile01
    Print #lInt_FreeFile01, "ftp.xxxxx.net"
    Print #lInt_FreeFile01, "cenko"
    Print #lInt_FreeFile01, "987654321"
    Print #lInt_FreeFile01, "cd source/uploads"
    Print #lInt_FreeFile01, "binary"
    Print #lInt_FreeFile01, "send " & ThisWorkbook.Path & "\Picture.gif targetdir/Picture.gif"

    '' To receive a file, replace the above line with this one
    ''Print #lInt_FreeFile01, "recv \Picture.gif " & ThisWorkbook.Path & "\Picture.gif"
    
    Print #lInt_FreeFile01, "bye"
    Close #lInt_FreeFile01

    '' Create Batch program
    Open strDirectoryList & ".bat" For Output As #lInt_FreeFile02
    Print #lInt_FreeFile02, "ftp -s:" & strDirectoryList & ".txt"

    Print #lInt_FreeFile02, "Echo ""Complete"" > " & strDirectoryList & ".out"
    Close #lInt_FreeFile02

    '' Invoke Directory List generator
    Shell (strDirectoryList & ".bat"), vbHide '', vbMinimizedNoFocus
    'Wait for completion
    Do While Dir(strDirectoryList & ".out") = ""
        DoEvents
    Loop

    Application.Wait (Now + TimeValue("0:00:03"))

    '' Clean up files
    If Dir(strDirectoryList & ".bat") <> "" Then Kill (strDirectoryList & ".bat")
    If Dir(strDirectoryList & ".out") <> "" Then Kill (strDirectoryList & ".out")
    If Dir(strDirectoryList & ".txt") <> "" Then Kill (strDirectoryList & ".txt")

bye:

Exit Sub

Err_Handler:
    MsgBox "Error : " & Err.Number & vbCrLf & "Description : " & Err.Description, vbCritical
    Resume bye

End Sub

bu kodlarda nasıl değişiklik yaparım
 
http://officeone.mvps.org/vba/ftp_upload_file.html
burdaki fonksiyon &#252;zerindede denemeler yapt&#305;m nafile &#231;&#305;kamad&#305;m i&#351;in i&#231;inden
sorunu bir t&#252;rl&#252; &#231;&#246;zemedim halen &#231;al&#305;&#351;maktay&#305;m yorumlar&#305; olan arkada&#351;lar varm&#305; belki yard&#305;mc&#305; olur :(
 
Geri
Üst