VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2003/06/20(Fri) 02:42
投稿者魔界の仮面弁士
Eメール
URL
タイトルRe: Webフォルダへコピーしたい

> ローカルで作成したファイルを社内のイントラネット(Webフォルダ)にエクスプローラで
> コピーしています。これをVBで自動化にしたいのですが、どなたかやり方を知っていますか?

Webフォルダ(WebDAV)へのアクセスには、幾つかの方法があります。

例えば、IE6 + Windows XP / Windows 2003などでは、
VB標準のステートメント等で、そのまま扱える可能性があります。
(Webサーバ側のサポート状況にもよりますが)

例えば、「http://server/folder」というWebフォルダがあった場合には、
    FileCopy "C:\Project1.DLL", "\\server\folder\ProjectSample.DLL"
という構文でファイルをコピーさせたり、あるいは、
    Open "\\server\folder\file.txt" For Output As #1
のような記述にて、ファイルを作成したりする事ができたりします。
ただし、この方法の場合は、http://〜やhttps://〜〜の構文のままでは
アクセスできないという点に注意が必要ですけれどね。

# なおこの時には、「http://server/folder/TEST.TXT」というURLに対して
# (WebDAVの)PROPFINDメソッドやPUTメソッドなどが自動的に発行されています。


上記の手法でアクセスできないような環境の場合は、ADOを使って、
Webフォルダをデータベースのように利用する事もできます。
特にADO 2.5以上からは、RecordオブジェクトやStreamオブジェクトを使って、
ファイルの内容までも、ADOだけで読み書きできるようになっています。

ADOで処理する場合は、OLE DB Providerとして、
  ・Microsoft OLE DB Provider for Internet Publishing (Provider=MSDAIPP.DSO)
  ・Microsoft OLE DB Provider for Exchange Server (Provider=ExOLEDB.DataSource)
などが利用できます。例えば前者であれば、
   http://www.microsoft.com/japan/developer/library/ado260/mdhowinternetpublishingscenario.htm
などが参考になるでしょう。後者は、
   http://www.zdnet.co.jp/help/howto/win/win2000/0010exchange/02/19.html
などを参考にしてください。(細かい仕様に関しては、SDKで確認してください)


あるいは、ServerXMLHTTPオブジェクトなどを利用して、直接 WebDAV による
低レベル通信を行う事もできます。この手法の場合は、下記が参考になるかと思います。
http://www.microsoft.com/japan/developer/workshop/xml/articles/xmlandwebdav.asp
http://www.ki.rim.or.jp/~kuro/WebDAV/


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -