掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
複数のファイルをFTP(PUT)するには? (ID:79686)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
はじめまして。 会社で「若い」と言う理由だけで、プログラムの作成を任されてしまいました。 ですので、いままでVBを触った事のないはまったくの初心者です。 もう自分の力ではどうしようもないので、皆さんのお力を貸してください。 作りたいプログラムは、とあるサーバーのあるフォルダ内のファイルを全て別の サーバーにFTP(PUT)すると言う物です。 色々な参考書などを見ていたところ、以下のプログラムが使えそうなのですが…。 ---------------------------------------- Option Explicit Private Sub Form_Load() Dim strFtpSvr As String Dim strUserID As String Dim strPassword As String Dim strRemoteFile As String Dim strLocalFile As String strFtpSvr = "*****" 'サーバー名を設定 strUserID = "*****" 'ユーザーIDを設定 strPassword = "*****" 'パスワードを設定 strRemoteFile = "*****" 'リモートファイルのパスを設定 strLocalFile = "*****" 'ローカルファイルのパスを設定 If FtpPut(strFtpSvr, strUserID, strPassword, strRemoteFile, strLocalFile) Then End If End Sub '---------------------------------------------------------- ' FTP PUT '---------------------------------------------------------- Function FtpPut(strFtpSvr As String, strUserID As String, strPassword As String, strRemoteFile As String, strLocalFile As String) As Boolean Dim hInternet As Long Dim hFTP As Long Dim lngret As Long Dim strErrText As String FtpPut = True On Error GoTo ErrHandler hInternet = InternetOpen(vbNullString, _ INTERNET_OPEN_TYPE_PRECONFIG, _ vbNullString, _ vbNullString, _ 0&) If hInternet = 0 Then strErrText = "InternetOpen:GetLastError=" & Err.LastDllError() MsgBox strErrText, vbOKOnly + vbExclamation, App.Title & "<FtpPut>" FtpPut = False Exit Function End If hFTP = InternetConnect(hInternet, _ strFtpSvr, _ INTERNET_DEFAULT_FTP_PORT, _ strUserID, _ strPassword, _ INTERNET_SERVICE_FTP, _ 0&, _ 0&) If hFTP = 0 Then strErrText = "InternetConnect:GetLastError=" & Err.LastDllError() MsgBox strErrText, vbOKOnly + vbExclamation, App.Title & "<FtpPut>" FtpPut = False Exit Function End If lngret = FtpPutFile(hFTP, _ strLocalFile & vbNullChar, _ strRemoteFile & vbNullChar, _ FTP_TRANSFER_TYPE_BINARY, _ 0&) lngret = InternetCloseHandle(hFTP) lngret = InternetCloseHandle(hInternet) Exit Function ErrHandler: FtpPut = False MsgBox "<" & Err & ">" & Error(Err), vbOKOnly + vbExclamation, App.Title & "<FtpPut>" Exit Function End Function ---------------------------------------- 長くなってしまい申し訳ありません。 これでは、一つのファイルのみで複数のファイルがPUTで来ません。 素人考えで、LOOP処理を入れてあげれば良いのでは?とは思うのですが、どのよう にすればよいのかさっぱりわかりません。 また、実現可能なのであれば同じファイルがFTP先にも存在する場合はPUTしない と言う処理も入れたいと思っています。 色々と試しては見たものの、うまくいかなくてただいま手詰まり状態です。 よろしければ、どの様に上記のプログラムを変更したらよいのかを教えていただき たいと思います。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.