- 締切済み
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 ※半角スペースは、全角スペースに置換しています。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- himajin100000
- ベストアンサー率54% (1660/3060)
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
補足
Inet1.Protocol = icFTP が抜けていたせいかと思ったんですが、 これはデフォルト値なんですね。 やはり、@があると上手く動きません。 当然ですが、WEBブラウザ(試したのはIE6.0)でやってもうまく動かないですね。