• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マイドキュメントのアップロードができない)

マイドキュメントのアップロードができない

このQ&Aのポイント
  • マイドキュメントの内容をFTPでアップロードする方法について質問します。Inet.Executeの後に記述する内容に問題があり、アップロードができません。
  • WindowsXPの環境でVB6.0を使用しています。マイドキュメントに半角スペースが含まれているため、うまくアップロードできません。解決方法を教えてください。
  • マイドキュメントのアップロードができません。Inet.Executeに問題があり、ファイルパスに半角スペースが含まれているためにうまく動作しません。

質問者が選んだベストアンサー

  • ベストアンサー
  • takasebou
  • ベストアンサー率42% (61/144)
回答No.2

"はプログラム中で扱う文字ではなく、あくまで文字列としての"です。文字列としての"を表現する為に "" あるいは chr(34) と表現します。 ですので変数に入れるのであれば aaa = """C:\Documents and Settings\....""" となります。これで "C:\Documents and Settings\...." が入ります。 最初の"がここからが文字列だという指定、次の""は "という文字列を扱うという意味です。最後の"""は ""が " という文字列だという意味で、最後の"が、文字列が終了という意味です。 これは aaa = chr(34) & "C:\Documents and Settings\...." & chr(34) と同じ意味です。chrは文字コードから文字を返すステートメントで、34は"を示しています。 ちなみにパスを " を囲む意味は、どこからどこまでがパスであるという指定をする為です。

basket11
質問者

お礼

ご回答ありがとうございました。 無事にマイドキュメントの内容もアップロードが可能となりました。 本当にありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • takasebou
  • ベストアンサー率42% (61/144)
回答No.1

パスを""で囲んだらうまくいきませんか? C:\Documents and Settings\a.txt → "C:\Documents and Settings\a.txt" なおご存じかもしれませんが、VB上で"を表現する時は "" と記載します。 C:\Documents and Settings\..... であれば ""C:\Documents and Settings\....."" となります。

basket11
質問者

補足

回答ありがとうございます。 言葉足らずで申し訳有りませんでした。 補足説明させていただきます。 C:\Documents and Settings\.....は、変数aaaに格納されています。 この場合、""aaa""と記述すると当然"aaa"になってしまいます。 上記のような変数を""で囲うようなことが可能でしょうか? 宜しくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • アップロードができない

    ローカルHDDにあるファイルをネット上にアップロードしたいため下記コードを作成したのですがコピーする事ができませんでした。 PC環境:WindowsXP ProSP1、VB6.0SP6です。 どうすればアップーロードできるのでしょうか? どなたか御願い致します。 ///////////////////////////////////////////////////// Private InetState As Boolean Private InetError As String Private Sub Command1_Click() Inet.RequestTimeout = 2 Inet.UserName = "*" Inet.Password = "***" Inet.Execute "*", "PUT c:\11.txt 11.txt" Do DoEvents Loop Until InetState If InetError <> "" Then MsgBox InetError InetState = False Inet.Execute "*", "CLOSE" Do DoEvents Loop Until InetState InetState = False Inet.Execute "*", "QUIT" Do DoEvents Loop Until InetState Inet.Cancel Unload Me End Sub ///////////////////////////////////////////////

  • phpでファイルをアップロードできるか?

    phpでのファイルアップロードについて質問します。 再質問となりますが、実際にコードを作成してやってみてうまくいかないので、 あらためて質問させていただきました。 eラーニング教材(htmlで作成)で、動画ファイルをストリーミングさせることになりました。 ウェブサーバ側へのアップロードする画面として、move_uploaded_file()やis_uploaded_file()メソッドをつかっていましたが、ストリーミングサーバ側としてFTP通信でポート20、21からのみのアップロードのみ許可されているとのことです。 ftp_put()メソッドを使ってアップロードさせたところうまくいきません。 **************<コード>************* $ftp_server="【サーバー名】"; $ftp_user_name="【アカウント名】"; $ftp_user_pass="【パスワード】"; $conn_id = ftp_connect($ftp_server); $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); if ((!$conn_id) || (!$login_result)) { echo "FTP接続に失敗しました。"; exit; } else { echo "FTP接続に成功しました。"; } ここまででFTPの接続はできているようです。 その直後に、 $local_file="【ローカルのファイルパス】"; $remote_file="【FTPサーバー上のアップロードファイルパス】"; if (!ftp_put($conn_id, $remote_file, $local_file, FTP_BINARY)) { echo "FTPアップロードに失敗しました。"; exit; } else { echo "FTPアップロードに成功しました。"; } **************<コード>************* FTPアップロードに失敗します。 原因がわからなく、こまっています。 ポートの指定が必要なのでしょうか? おしえてください。 よろしくおねがいたします。 **************** FTP supportはenabled になっています。 phpのバージョンは4または5です。 IE7以上のブラウザ環境を想定しています。

    • ベストアンサー
    • PHP
  • 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 ※半角スペースは、全角スペースに置換しています。

  • FTP接続での不具合

    以下のコードでFTPへの接続を行っていますが、わからないところがあります。 (1)「リモートホストに接続できません」とエラーが出てしまいます。 どのあたりが怪しいのかわからず困っています。 (2)GET の書き方について "GET test.txt C:\Test\test.txt"    ******** 受信するファイル名の指定の仕方ですが、上記の*******印部分ですが、 たとえばURLがpc000のTempフォルダの下にあるtest.txtを受信したい場合はディレクトリの指定の書き方がわかりません。 "GET /Temp/test.txt C:\Test\test.txt" と書いたりもしていますが、はたしてこの書き方があっているのかわかりません。 ご教示ねがえませんでしょうか? よろしくお願いいたします。     'FTP接続------------------------------------- Inet1.URL = "FTP://pc000" Inet1.Password = "xxx" Inet1.UserName = "yyy" Text1.Text = Inet1.OpenURL Inet1.Execute Inet1.URL, _ "GET test.txt C:\Test\test.txt" '-------------------------------------

  • phpでftpのアップロードができないのですが・・・

    phpでftpコマンドを使ったアップロードができません。どこが間違っているのでしょうか。 ftpで接続してログインするところまでは間違いなくできているのですが・・・よろしくお願いします。 file.php のフォーム部分 <form enctype="multipart/form-data" action="fileupload.php" method="post"> <input type="FILE" name="File"><br>     <input type="SUBMIT" value="送信">     <input type="RESET" vaiue="取消">     </form> fileupload.php のアップロード処理部分 //アップロード後のファイルの名前を仮にaaa.txtとする $file2 = "/public_html/aaa.txt"; if(isset($_REQUEST["File"])){ $file=$_REQUEST["File"]; } $ftp = ftp_connect($hostname) or die("接続失敗"); ftp_login($ftp,$user,$pass) or die("ログイン失敗"); ftp_put($ftp, $file2 , $file , FTP_ASCII) or die("アップロード失敗");

    • ベストアンサー
    • PHP
  • VB2005 FTPでファイルアップロード

    はじめまして。VB初心者なのですが質問があります。 VB2005でFTPでtxtファイルをアップロードをしたいです。 具体的にはCドライブに入れてある C\test1.txtをレンタルホームページのFTPサーバーにアップロードしたいです。 .NETでのアップロードの仕方はインターネットに情報が割とあるのですが、VB2005だとなかなか出てきません。 どのようなコードを書けばいいのでしょうか?よろしくお願いします。

  • inetコントロールを使用したFTP送信の質問その1

    ローカルにあるファイルを、FTPサーバに送信するプログラムを作成しました。 inetコントロールを使用して、以下のようなプログラムを組みました。 Private sub ftp()  Inet1.Protocol=icFTP  Inet1.Url="ftp://xxx.xxx.xxx.xxx/"  Inet1.UserName="aaaa"  Inet1.Password="bbbb"  Inet1.Execute , "SEND x:\xxx\xxx.txt xxx/xxx.txt" End sub Private sub Inet1_StateChanged(Byval State As Integer) Dim sMsg As String  Select Case State   Case icRequestSent    sMsg = "送信完了"    TCall LogWrite(sMsg) ログをファイルに書く(自作関数)   Case icError    sMsg = Inet1.ResponseCode & " " & Inet1.ResponseInfo    Call LogWrite(sMsg) エラーログをファイルに書く(自作関数)  End Select End Sub ファイルを複数送信するため、「sub ftp()」は複数回呼び出されます。 上記プログラムにCLOSEコマンドとCANCELメソッドを追加して、以下のようにしたほうがよいのでしょうか? CLOSEコマンドとCANCELメソッドの使い方がよくわからず、悩んでいます。 Private sub ftp()  Inet1.Protocol=icFTP  Inet1.Url="ftp://xxx.xxx.xxx.xxx/"  Inet1.UserName="aaaa"  Inet1.Password="bbbb"  Inet1.Execute , "SEND x:\xxx\xxx.txt xxx/xxx.txt"  Inet1.Execute , "CLOSE" End sub Private sub Inet1_StateChanged(Byval State As Integer) Dim sMsg As String  Select Case State   Case icRequestSent    sMsg = "送信完了"    TCall LogWrite(sMsg) ログをファイルに書く(自作関数)   Case icError    sMsg = Inet1.ResponseCode & " " & Inet1.ResponseInfo    Call ErrLogWrite(sMsg) エラーログをファイルに書く(自作関数)    Inet1.Cancel  End Select End Sub

  • VB.NETでサーバーからFILEを取得する

    サーバー上にあるテキストファイルを FTPで取得したいのですが VBであればInetを使用して↓のように取得が可能 だったのですがVB.NETでのInetの使用方法がわかりません どなたかご存知の方がいらしたらご教授願えますか? また、別の方法がありましたらアドバイスをお願いします。 宜しくお願いいたします。 ==================== Dim FileName As String Inet.URL = "ftp://hostname/home/temp/" Inet.UserName = "username" Inet.Password = "password" Inet.Execute(, "GET test.txt " & FileName) Do While Inet.StillExecuting = True DoEvents() Loop MsgBox("ダウンロード終了") ====================

  • コマンドプロンプトの繰り返し処理について

    コマンドプロンプト初心者です。 今回、同じファイルをWebサーバー上の複数のフォルダにアップロードするバッチを組みたいのですが、「for」による繰り返し処理がうまくできません。 さらに具体的にいいますと「public_html/10」「public_html/11」「public_html/12」「public_html/13」それぞれに「AAA」というフォルダを作り、その中に「BBB.txt」というファイルをアップロードしたいのです。 なお、「public_html/10」に「AAA」というフォルダを作り、その中に「BBB.txt」というファイルをアップロードをおこなう、という一度だけの処理はできています。ですが、forを使い、繰り返し作業をおこなおうと試みるも、うまくいきません。 以下が作成したFTPコマンドです。 ------------------------------ open XXX.XX.XX.XX name password For /L %%a in(10,1,13) do ( cd /public_html/%%a mkdir AAA cd /public_html/%%a/AAA put C:\BBB.txt BBB.txt) EXIT       ------------------------------ お手数ですが、ご教授いただけますと幸いです。 よろしくお願いいたします。

  • ftpのgetが正常できる方法について

    約100Mバイトのログファイルの差分をとるため、下記のバッチファイルとteratermマクロを実行させました。 やり方は、差分をとりたい2つのログをfptにてサーバーへ転送し、サーバーでsdiffを実行し、差分結果をftpにてとってくるものです。 バッチファイル  echo open xx.xx.xx.xx > "%~dp0put.txt"  echo abcdef >> "%~dp0put.txt"  echo pwabe >> "%~dp0put.txt"  echo put log1 log1 >> "%~dp0put.txt"  echo put log2 10g2 >> "%~dp0put.txt"  echo quit >> "%~dp0put.txt"  ftp -s:"%~dp0put.txt"  del "%~dp0put.txt"  "c:\ProgramFiles\teraterm\ttpmacro.exe" "%~dp0sdiff.ttl"  cho open xx.xx.xx.xx > "%~dp0get.txt"  echo abcdef >> "%~dp0get.txt"  echo pwabc >> "%~dp0get.txt"  echo get kekka kekka >> "%~dp0get.txt"  echo del log1 >> "%~dp0get.txt"  echo del log2 >> "%~dp0get.txt"  echo quit >> "%~dp0get.txt"  ftp -s:"%~dp0get.txt"  del "%~dp0get.txt"  exit/b teraterm macro (sdiff.ttl)  connect'xx.xx.xx.xx.:xx/ssh/2/auth=/user=abcdef/passwd=pwabc'  wait'$'  sendln 'sdiff logl log2 > kekka'  sendln 'mv kekka kekka1'  sendln 'perl -pe "s/\n\r\n/"kekka1 > kekka'   wait'$'  sendln 'rm kekka'  sendln 'rm kekka1'  Sendln 'logout'  end ここから相談です。 ftpでgetしてきた差分は、ログの頭から3分の1程度しかなく、全ての差分をとることができませんでした。 調査したところ、サーバー側はログ全ての差分を取れていることを確認しました。 なぜ、ftpで作業結果をgetすると、3分の1しかないのか原因がわからないまま、試行錯誤で対処方法を見つけたのが次の方法です。 方法1(teraterm macroの変更1)  次のようにwait'$'を追加する。  sendln 'sdiff logl log2 > kekka'  wait'$'  sendln 'mv kekka kekka1'  wait'$'  sendln 'perl -pe "s/\n\r\n/"kekka1 > kekka' 方法2(teraterm macroの変更2)  次のように20秒のpauseをとる。  sendln 'sdiff logl log2 > kekka'  pause 20  sendln 'mv kekka kekka1' 方法1も方法2もタイミングを取るような方法ですが、このやり方で、なぜftpでgetした差分結果が正常(ログすべての差分が取れている)になるのかがわかりません。本当にこの対処でよいか判断できません。 どなたか上記方法でよい理由がお解りでしたら、教えてください。