VBA 通過ftp 上傳文件

ContractedBlock.gif ExpandedBlockStart.gif Code
Option Explicit

Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As LongAs Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As LongAs Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As LongAs Long

Private Const SYNCHRONIZE = &H100000
Private Const INFINITE = -1&


Public Function FTP(ByVal IP As String, ByVal ID As String, ByVal PW As String, _
ByVal filePath 
As String, ByVal fileName As String, ByVal saveAsName As StringAs String
    
On Error GoTo errMsg
    
    
On Error Resume Next
    Kill 
"c:\tempEPOfile"
    
On Error GoTo errMsg
    
    FileCopy fileName, 
"c:\tempEPOfile"
    
    
On Error Resume Next
    Kill ActiveWorkbook.Path 
& "\FTPtempFile"
    
On Error GoTo errMsg
    Open 
"FTPtempFile" For Append As #1
        Print #
1"open " & IP
        Print #
1, ID
        Print #
1, PW
        Print #
1"cd " & filePath
        Print #
1"put c:\tempEPOfile " & saveAsName
        Print #
1"quit"
    Close #
1
    
    
    
Dim lProcID As Long
    
Dim hProc As Long

    
' Start the App
    lProcID = Shell("ftp -s:FTPtempFile", vbHide)

    DoEvents

    
' Wait for the App
    hProc = OpenProcess(SYNCHRONIZE, 0, lProcID)
    
If hProc <> 0 Then
        WaitForSingleObject hProc, INFINITE
        CloseHandle hProc
    
End If

    
    
    Shell 
"ftp -s:FTPtempFile"
    
On Error Resume Next
    Kill 
"c:\tempEPOfile"
    Kill ActiveWorkbook.Path 
& "\FTPtempFile"
    
On Error GoTo errMsg
    
    
Dim objEightBall As clsws_Service
    
Set objEightBall = New clsws_Service
    objEightBall.wsm_insertLog 
"Leadtime", saveAsName, "1", Environ("username")
    
    FTP 
= "File upload complete." & vbCrLf & "The transfer operation will be completed in 3 minues." & vbCrLf & _
    
"If you didn't got mail after 5 minutes please content us."
    
    
Exit Function
errMsg:
    FTP 
= Err.Description
End Function

转载于:https://www.cnblogs.com/Nina-piaoye/archive/2009/05/19/1460305.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值