Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10301 / 13646 ツリー ←次へ | 前へ→

【22644】ファイル送信 ono 05/2/25(金) 10:55 質問[未読]

【22644】ファイル送信
質問  ono  - 05/2/25(金) 10:55 -

引用なし
パスワード
   はじめまして。
WEBDAVサーバにファイルをPUTする方法がうまくいかず困っています。
通信にはInetコントロールを使用しており、以下の様にして送信しております。

------------------------------------------------------
Private Sub CommandButton1_Click()
  Const FilePath = "C:\"
  Const FileName = "test.zip"
  
  Dim lngFileno As Long
  Dim b() As Byte
  Dim Inet1 As New Inet
  Dim strPutData As String
  
  ' ファイルを読み込む
  lngFileno = FreeFile
  Open (FilePath & FileName) For Binary Access Read As #lngFileno
  ReDim b(LOF(lngFileno))
  Get #lngFileno, , b
  Close #lngFileno
  
  ' バイト配列として読み込んだデータを
  ' 送信可能なStringに変換する
  strPutData = b
  strPutData = StrConv(strPutData, vbUnicode)
  
  ' 送信
  Inet1.URL = "http://localhost:8080/webdav/" & FileName
  Inet1.Execute , "PUT", strPutData
  While (Inet1.StillExecuting)
    DoEvents
  Wend
End Sub
------------------------------------------------------

この方法ですと、通常のテキストファイルは正常なんですが、
それ以外のファイル(上記ソースの例だとtest.zip)ですと
PUTしたファイルが破損してしまいます。
ファイルをバイト配列として読み込み、Stringに変換する過程に
問題があるのはわかるのですが、InetのExecuteの第3引数である
strPutDataをバイト配列の変数 b にしてもダメでした。

x Inet1.Execute , "PUT", b

どなたかお力をお貸しください。よろしくお願いします。

10301 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free