アプリ版:「スタンプのみでお礼する」機能のリリースについて

ExcelVABで指定したファイルを他のユーザが使用しているかどうかを取得するプロパティがあれば使用したいと思っています。
ご存知の方教えてください。

バージョンはExcel2003です。

ちなみにEXCEL5.0では、そのようなプロパティはないとのことでした。

A 回答 (2件)

こんにちは。



 ・他のユーザが使用しているかどうかを取得するプロパティ

新しいオブジェクトが出来て、そういうプロパティが取れるようになるのかもしれませんが、私は知りません。しかし、少なくともOffice 2003 までの VBAでは、それは、「プロパティ」と聞かれても、思い当たらないです。

>EXCEL5.0では、そのようなプロパティはないとのことでした。

なぜ、Ver.5 なのか分かりませんが、97以前の問題は、不問に付すという暗黙のルールがあるかと思います。

ただ、一応、Ver.5以下は、今、探した範囲では見つかりませんが、それらのバージョンは、詳しいわけではないからです。プロパティで、今のバージョンにないものが、前のバージョンにあるとは思えません。もともと、それ自体は、プロパティではないと思います。

通常、VBAでは、このようにして、共有ファイルに対して、編集可能かを取ります。つまり、使用中かどうかが分かります。

On Error Resume Next
Open [ファイル名] For Binary Lock Read Write As #Fno

これで、Err.Number を取れば、ブックの状態が分かります。

Err.Number =0 で、編集可
Err.Number =70 で、他の人が使用中
Err.Number =32 で、ブックのトラブル

この回答への補足

>なぜ、Ver.5 なのか分かりませんが、

以下のマイクロソフトのドキュメントに記載がありました。
ちなみにこの方法ではうまくいかなかったです。
http://support.microsoft.com/kb/402465/ja


教えていただいた「Lock Read Write」を試してみます。

補足日時:2007/07/04 19:16
    • good
    • 0
この回答へのお礼

うまくトラップできました!

ありがとうございました。

お礼日時:2007/07/04 19:24

>使用している


の定義は何ですか? 開いただけ? 更新した?

開いただけなら何の記録もファイルに残りませんから、誰が開いたかを取得するのはできないでしょう。

最終更新者なら
 ThisWorkBook.BuiltinDocumentProperties("Last Author")
で取得可能ですが、そのような質問ではなさそうですね…
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!