利用環境
access:2003
os:xp
このサイトを参考にvbaでFTPでファイル転送を実装しようとしています。
http://www.happy2-island.com/access/gogo03/capter90302.shtml
困っているのは、、エラーがでないのですが、ファイルが転送されないということです。
接続先やUserID,パスワードを間違えた場合は、ちゃんとエラーが表示されますので
接続まではできているのではないかと思いますが、最後のFTPファイル転送がうまくいきません。。
インターネットサービスのオープンとFTPサーバへの接続はうまくいっているようですが
fcFTPPutFileの結果が何度やってもFALSEになります。
どのあたりを探れば問題がわかりますでしょうか?
ご教示いただけますと助かります。
'■外部サーバーへファイルをアップロード
Dim lngRC As Long
'インターネットサービスをオープンします
lngRC = fcInternetOpen
'オープンに成功したらFTPサーバとの接続を行います
If lngRC = 0 Then
'FTPサーバへ接続します
lngRC = fcFTPConnect()
'接続に成功したら、FTPサーバからファイルをアップロードします
If lngRC = 0 Then
Debug.Print Err.LastDllError
'●↓この結果がFALSEになってしまい、ファイル転送ができません。。。
Call fcFTPPutFile(送り元ファイルパス&ファイル名_
, 送り先ファイルパス&ファイル名 _
, FTP_TRANSFER_TYPE_ASCII)
Else
MsgBox エラー内容
End If
Else
MsgBox エラー内容
End If
●↓この結果がFALSEになってしまい、ファイル転送ができません。。。
Public Function fcFTPPutFile(dLc As String, dRmt As String, dMd As Long) As Boolean
'dLc /ローカルファイル
'dRmt/リモートファイル
'dMd /転送モード
'FTPサーバへファイルをアップロード
fcFTPPutFile = FtpPutFile(Pub_lngFtpHnd _
, dLc _
, dRmt _
, dMd _
, 0)
End Function
お礼
ご回答ありがとうございます。 FTPソフトでは転送できました。 DOSプロンプトでFTP転送も可能でした。 ファイル権限も大丈夫だと思いますが確認してみます。
補足
ファイル属性を調べましたら、属性がAとなっておりました。 ちなみにファイルはxmlファイルです。 Aはアーカイブ属性とのことですが、ファイル転送できないのでしょうか???