• 締切済み

VBAにて、他PCのファイルの存在をチェックしたい

エクセルVBAにて、他のPCにあるファイルの存在をチェックしたいのですが方法がわかりません。 どのようにコーディングすれば良いか教えてください。 方法としては、チェックしたいPCにftpにてログオンして特定のファイルが存在するかチェックする。 ネットワークドライブの割り当てなどは使いたくなく、ftpユーザーにてチェックを行うのが希望です。 チェック先のPCにはftpユーザーの設定はしてあります。 以上、よろしくお願いします。

みんなの回答

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.2

えーっとすいませんが、1番で示したBASP21を使った場合のFTP接続のサンプルコードのサイトには目を通されたのでしょうか?? 1であげたサイトにご希望のサンプルがそのものずばり載っていますけど、読んだ上で理解できないのか、理解した上で試したけど正常動作しないのか、そもそも目を通していないのか。

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.1

APIを使います。メゾットなどはそのAPIに準ずるので、具体的なコードはそのAPIの方で勉強されてください。 有料のものなら多数ありますし、フリーなら例えばBASP21とか。 サンプルも多数あります。 http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_800_100.html http://www.hi-ho.ne.jp/~babaq/basp21f.html BASPでやるならGetDirで一覧を取得してからループでまわして確認するとかになるんでしょうかね。いきなり決め打ちで受信して、エラーが返って来たら存在しないと判断するという手もありますがお勧めはしません。 まぁこんな面倒な手法をとらざるを得ない環境(遠隔地にあるとか?)に無い限りは普通はそのままFileSystemObject (FSO)でも使って直接確認させた方がはるかに楽だと思いますが。別にネットワークドライブなんて必須ではありませんし。共有フォルダのユーザー認証はWinodws認証で行われるので、それがちょっと不安ということなんでしょうかね??

rdr2006o
質問者

補足

popesyuさん>  回答ありがとうございます。  実はPWを忘れた上に、登録してあるメアドが無効になっており返事ができない状態でした。 なぜftpにて・・・なのかと言いますと、WindowsServerのファイルチェックを行いたいのですが、 基本的に共有不可なので"Dir"コマンドなどは使えない状態。 ftpユーザーは作ってありDosプロンプト上でコマンドを打ち確認はできる状態です。 Dosプロンプト------------------------------------- ftp open xxx.xxx.xxx.xxxx user:xxxxx password:xxxx cd xxxx ls xxxx -------------------------------------------------- こんな感じでDos上からは見れますが、同じことがvbaでできませんか?

関連するQ&A