vba上传文件到ftp服务器,excel - 从Excel连接到FTP以自动执行文件共享(VBA初学者) - 堆栈内存溢出...

我是Excel VBA的初学者和新手,但我试图通过连接到Excel并可能创建一个有用的宏来自动化FTP(WinSCP)中的一些文件共享。 在FTP中我去了Session> Generate Session URL / code> Script(脚本文件),下面是代码:

open ftp://myUsername:myPassword@theHostname/

# Your command 1

# Your command 2

exit

open ftp://myUsername:myPassword@theHostname/

Option Explicit

Sub FtpTest()

MsgBox fnDownloadFile("ftp://yoursite", "username", "password", _

"The name of your file", _

"C:\The name of your file to save as")

End Sub

Function fnDownloadFile(ByVal strHostName As String, _

ByVal strUserName As String, _

ByVal strPassWord As String, _

ByVal strRemoteFileName As String, _

ByVal strLocalFileName As String) As String

'// Set a reference to: Microsoft Internet Transfer Control

'// This is the Msinet.ocx

Dim FTP As Inet 'As InetCtlsObjects.Inet

Set FTP = New Inet 'InetCtlsObjects.Inet

On Error GoTo Errh

With FTP

.URL = strHostName

.Protocol = 2

.UserName = strUserName

.Password = strPassWord

.Execute , "Get " + strRemoteFileName + " " + strLocalFileName

Do While .StillExecuting

DoEvents

Loop

fnDownloadFile = .ResponseInfo

End With

Xit:

Set FTP = Nothing

Exit Function

Errh:

fnDownloadFile = "Error:-" & Err.Description

Resume Xit

End Function

exit

我做了,因为这个网站说要去VBA编辑器>工具>参考并检查Microsoft Internet Control。

1)我使用的代码是对的吗? 我把它放在正确的区域('#command'区域)? 现在我将整个代码放在一个命令按钮中,但是当我单击它时它只是给我一个突出显示第一行的语法错误:Private Sub CommandButton1_Click())

2)我是否将Msgbox保留在第3行,等待用户输入或是否填写我的用户名/密码/主机名? (我对VBA中的功能还不是很好)如果我在代码中填写它,那么由于我没有访问网站,我会为“yoursite”值添加什么?

对不起,我很困惑:(任何帮助都会很棒,并提前谢谢你!

你可能感兴趣的:(vba上传文件到ftp服务器)