サーバー上のファイルを自動で自分のPCに落とすには?


KMW  2004-12-15 19:51:00  No: 118323

はじめまして、VB初心者で現在アプリケーションを開発しているのですが、ちょっとつまずいてしまったので、教えてください。
  当方が行いたいのは、サーバー上にあるファイル(MDBファイル)を自身のPCの指定のフォルダにダウンロードしたいのですが、以下のような構文ではダメでしょうか?

If Dir$("C:\IVR\db") <> "" Then
        If Dir$("C:\IVR\db\xxxx.mdb") <> "" Then
            Kill "c:\IVR\db\xxxx.mdb"
        End If
    Else
        MkDir ("C:\IVR\db\")
    End If
        
    Me.Inet1.URL = "ftp://www.xxxxxxxx.jp"     ' FTPアドレスを指定
    Me.Inet1.UserName = "userxxxx"              ' ユーザ名を指定
    Me.Inet1.Password = "passxxxx"           ' パスワードを指定
    Me.Inet1.Protocol = icFTP                  ' 接続方法を指定
    Me.Inet1.Execute , "CD /xxxx/" 
    Do While Me.Inet1.StillExecuting
        DoEvents ' 前の処理が終わるまで待機
    Loop
    get_file = "xxxx.mdb"
    Me.Inet1.Execute , "GET " & get_file & " c:\IVR\db\" & get_file 'ファイル取得
    Do While Me.Inet1.StillExecuting
        DoEvents ' 前の処理が終わるまで待機
    Loop
    Me.Inet1.Execute , "CLOSE" ' 接続切断

実行すると「実行時エラー"75"  パス名が無効です」と表示されるのですが、単純にパスの指定がおかしいだけですかね?


nanashi  2004-12-15 20:14:52  No: 118324

どの個所でエラーが出るんでしょうか?


ひろ  2004-12-15 20:37:51  No: 118325

フォルダ有無チェックにバグがありますね。Dir関数の2番目の引数を指定しましょう。


KMW  2004-12-15 22:18:46  No: 118326

nanasi様、ひろ様、早速のご返答ありがとうございます。
ひろ様のおっしゃる「Dir関数の2番目の引数」とはどういうことでしょうか?
すみませんが初心者で理解できませんので、よろしくお願いいたします。


de  2004-12-15 22:48:11  No: 118327

Dirのヘルプを見てから質問しましょう。
あなたはDirの書式を知っているからDirを使ったんじゃないですか?
2番目の引数とは、その言葉どおり、2番目に書く引数のことです。


GOD  2004-12-15 23:09:05  No: 118328

MkDirは多階層のフォルダは一気に作成できませんが大丈夫ですか?


いな  2004-12-16 05:42:57  No: 118329

>ひろ様のおっしゃる「Dir関数の2番目の引数」とはどういうことでしょうか?
>すみませんが初心者で理解できませんので、よろしくお願いいたします。

Dir関数には、
普段設定する、省略できない第1引数の他に、
省略可能な第2引数があるので、それを指定してください。
ということです。

##これでわからなければごめん、チョット自分には荷が重いわ


ねろ  2004-12-16 20:40:11  No: 118330

MakeSureDirectoryPathExists
この関数は、もしフォルダーが無ければ階層も含めて一挙に作ると言うものです。
これをはじめに入れておけば、フォルダーやファイルのチェックは要らないのでは。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加