はじめまして、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" パス名が無効です」と表示されるのですが、単純にパスの指定がおかしいだけですかね?
どの個所でエラーが出るんでしょうか?
編集 削除フォルダ有無チェックにバグがありますね。Dir関数の2番目の引数を指定しましょう。
編集 削除nanasi様、ひろ様、早速のご返答ありがとうございます。
ひろ様のおっしゃる「Dir関数の2番目の引数」とはどういうことでしょうか?
すみませんが初心者で理解できませんので、よろしくお願いいたします。
Dirのヘルプを見てから質問しましょう。
あなたはDirの書式を知っているからDirを使ったんじゃないですか?
2番目の引数とは、その言葉どおり、2番目に書く引数のことです。
MkDirは多階層のフォルダは一気に作成できませんが大丈夫ですか?
編集 削除>ひろ様のおっしゃる「Dir関数の2番目の引数」とはどういうことでしょうか?
>すみませんが初心者で理解できませんので、よろしくお願いいたします。
Dir関数には、
普段設定する、省略できない第1引数の他に、
省略可能な第2引数があるので、それを指定してください。
ということです。
##これでわからなければごめん、チョット自分には荷が重いわ
MakeSureDirectoryPathExists
この関数は、もしフォルダーが無ければ階層も含めて一挙に作ると言うものです。
これをはじめに入れておけば、フォルダーやファイルのチェックは要らないのでは。