• 締切済み

VB6.0でFTP接続するとき、UserNameに@が含まれる場合(訂正版)

VB6.0で、下のようなプログラムを組んでいるのですが、 UserNameに"@"が含まれる場合、 Execute時にはInet1に'@'が2つ入る事になり、 FTP接続ができません。 このような場合、どのように対処すれば良いのでしょうか? Private Sub FtpUpload()   With Inet1     .URL = "ftp://" & strFtpAddress & "/"   ' URL     .UserName = strUserId                   ' ユーザー名     .Password = strPass                     ' パスワード     ' サーバーにファイルを送信     .Execute , "PUT " & _                strUploadFileName & " " & _                "wwwroot/" & strUploadFileName     Do While .StillExecuting = True       DoEvents      Loop   End With End Sub ※半角スペースは、全角スペースに置換しています。

みんなの回答

回答No.1

VBA + FileZilla Serverで実験してみましたが、当方環境では 文字列中に@があっても普通に大丈夫でしたけど? Option Explicit Private Sub Inet1_StateChanged(ByVal State As Integer) End Sub Private Sub UserForm_Click() Dim objWshShell Dim StrUploadFileName StrUploadFileName = "test.txt" With Inet1 .URL = "ftp://localhost/" 'URL .UserName = "himajin100000@example.com" 'ユーザー名 .Password = "aiueo" 'パスワード Inet1.Protocol = icFTP 'サーバーにファイルを送信 .Execute , "PUT " & "C:\test\hoge2.txt" & " " & "hoge3.txt" Do While .StillExecuting = True DoEvents Loop End With End Sub

rin10rin
質問者

補足

Inet1.Protocol = icFTP が抜けていたせいかと思ったんですが、 これはデフォルト値なんですね。 やはり、@があると上手く動きません。 当然ですが、WEBブラウザ(試したのはIE6.0)でやってもうまく動かないですね。

関連するQ&A