|
▼poch さん:
>はじめまして。
>エクセルのVBAから、ファイルサーバ(ネットワークサーバ)上のあるエクセルファイルが開いているかどうかを調べたいとおもっています。 Openメソッドのインプットモードでエラーさせる方法は思いついたのですが、もう少しスマートな方法があればご教示いただければ幸いです。
VBAの基本機能では無理だと思います。
APIなら可能かも知れませんが・・・
>また、誰がそのファイルを開いているかVBAで取得する術がわかりません。共有モードのエクセルなら、userstatusプロパティーで取得できそうですが、ファイルサーバ上のエクセルファイルで実行しても取得できませんでした。
ファイルが格納されているサーバ上でコマンドプロンプトから、Net Fileコマンドを実行すればオープンファイルの一覧を取得できます。
エクセルから呼ぶ場合には、あらかじめサーバでTELNETを起動しておき、
TELNETログイン 〜 Net Fileまでを記したスクリプトを実行し、
そのリダイレクト結果を取得すれば可能かも・・・
というように煩雑なものしか浮かびません(;´д`)トホホ
Pochさんはこれを取得して何をなさりたいのでしょうか?
それがわかれば別方面からのアプローチも可能かと思いますが・・・
|
|