a previous SO質問で見つかった次のコードを使用して、生成された.phpファイルをFTP経由で共有サーバーにアップロードしようとしました。Excelを使用してSFTP経由でアップロードするVBAコード
Windows 10でExcel 2016を使用していて、1and1のサーバーにアップロードしようとしています。
Public Sub FtpSend()
Dim vPath As String
Dim vFile As String
Dim vFTPServ As String
Dim lInt_FreeFile01 As Integer
vPath = Environ("USERPROFILE") & "\Documents\UploadFiles\"
vFile = "rd1.php"
vFTPServ = "domain-name.co.uk"
lInt_FreeFile01 = FreeFile
'Mounting file command for ftp.exe
Open vPath & "\FtpComm.txt" For Output As #lInt_FreeFile01
Print #lInt_FreeFile01, "domain-name.co.uk"
Print #lInt_FreeFile01, "username"
Print #lInt_FreeFile01, "password"
Print #lInt_FreeFile01, "/test/"
Print #lInt_FreeFile01, "ascii"
Print #lInt_FreeFile01, "send " & Environ("USERPROFILE") & "\Documents\UploadFiles\" & "rd1.php"
Print #lInt_FreeFile01, "bye"
Close #lInt_FreeFile01
Shell "ftp -n -i -g -s:" & vPath & "FtpComm.txt " & vFTPServ, vbNormalNoFocus
SetAttr vPath & "FtpComm.txt", vbNormal
Kill vPath & "\FtpComm.txt"
End Sub
私はマクロを実行すると、そこにはフィードバックが起こったことにようではありませんが、ファイルはサーバー上/テスト/ディレクトリに転送されていません。私は多くの並べ替えを試みましたが、それを動作させることはできません。
どのように私はこれを動作させることができるのですか?
は別のノートで、私はまた、コードhereを試してみましたが、これはどちらかの仕事を得ることができませんでした...
私は以前にFTP経由でファイルを転送するFileZillaのを使用しているが、このExcelワークブックがあることを行っています多くのチームメンバーに配布され、Excel VBAコードを使用してアップロードする機能は、ワークフローを合理化する上で重要な要素です。
Print #lInt_FreeFile01, "cd test"
または多分
Print #lInt_FreeFile01, "cd /test"
へ
ディレクトリパスやその他の提案を変更するなど、いくつかの変更が加えられましたが、それでも機能しません。画面は短く点滅しますが、他のフィードバックはありません。サーバー上のディレクトリをチェックすると、ファイルは転送されません。このコードは以前あなたのために働いていましたか? –
私はFTPの代わりにSFTPを使用していることに違いがありますか?もしそうなら、これをコードで指定できますか? –
sFTPは大きな違いをもたらします。 WindowsはネイティブにsFTPを実行しません。 WinSCPまたはPuTTYを使用する必要があります。 – Tim