• ベストアンサー

VBA 指定したファイルを他のユーザが使用しているかどうかを取得するプロパティ

ExcelVABで指定したファイルを他のユーザが使用しているかどうかを取得するプロパティがあれば使用したいと思っています。 ご存知の方教えてください。 バージョンはExcel2003です。 ちなみにEXCEL5.0では、そのようなプロパティはないとのことでした。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.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 で、ブックのトラブル

hideto_urata
質問者

お礼

うまくトラップできました! ありがとうございました。

hideto_urata
質問者

補足

>なぜ、Ver.5 なのか分かりませんが、 以下のマイクロソフトのドキュメントに記載がありました。 ちなみにこの方法ではうまくいかなかったです。 http://support.microsoft.com/kb/402465/ja 教えていただいた「Lock Read Write」を試してみます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

>使用している の定義は何ですか? 開いただけ? 更新した? 開いただけなら何の記録もファイルに残りませんから、誰が開いたかを取得するのはできないでしょう。 最終更新者なら  ThisWorkBook.BuiltinDocumentProperties("Last Author") で取得可能ですが、そのような質問ではなさそうですね…

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBAでユーザーにフォルダを指定させたい

     Win2000でEXCEL97を使ってます。  ExcelVBAでダイアログボックスなどによりユーザーにフォルダを指定させたいのです。  ファイルを指定させるには、GetOpenFileNameメソッドを使えば出来ることは分かったのですが、フォルダを指定させるような方法が分からないのです。  本で読んだところでは、Excel2002ではFileDialogプロパティで可能なようなのですが、Excel97では出来ないようで…  97でも可能な方法があればご教授下さい。  よろしくお願いします。

  • Propertyファイル

    Unix上で動くWebアプリを作成しています。 Propertyファイルを使用していろいろな値を取得しているのですが、そのPropertyファイルの場所を指定するのに どのような方法がふさわしいのでしょうか? 環境変数がいいのかと思ったのですが、System.getenvは推奨されてないみたいだし、どなたか力を貸してください。

    • ベストアンサー
    • Java
  • ファイルのプロパティ・バージョン情報・コメントを取得する方法?

    Visual Basicで取得したファイルの プロパティにある、バージョン情報の コメント取得する方法を御存知の方、 教えてください。 恐らくAPIを使うのだと思うのですが、 わかりません。 宜しくお願い致します。

  • 【VBA】EXCELブックを開かずにファイルのプロパティを取得したい

    VBAに関する質問です。 対象のエクセルブックを開かずに、エクセルファイルのプロパティ(タイルト名など)を取得する方法を教えてください。 「DSO」を使用すれば所得できることは分かりましたが、別の方法で取得することは可能でしょうか?できれば「DSO」をインストールしていないパソコンからでも取得できるようにしたいと思っています。 心当たりのある方、アドバイスいただければと思います。

  • VBAで「ファイルを開く」ダイアログボックスにパスは指定できますか?

    エクセルVBAでプログラミングをしています。 「ファイルを開く」ダイアログボックスを開くときに、パスを指定して開くことは可能でしょうか? ご存じの方、教えてください。 エクセルは、Excel2000、Excel98などを使用しています。

  • プロパティファイルについて

    拡張子「.properties」となっているプロパティファイルとは、一体どういうものですか?どういう用途の場合に、これを使うのですか?今、私が解析しているソースは、「プロパティファイルの設定を元にしたDBConnectionPoolのインスタンスを作成し、 DBConnectionPoolはプロパティの設定により定義しようとする」ものです。プロパティファイルからは、”データベースのURL”や”データベースユーザ (オプション)”を取得しています。 どういったものをプロパティファイルにいれこんでしまうのですか? 教えて頂けると助かります。 また、プロパティクラスについて、詳しく説明してあるHPなど、教えて頂けると、大変助かります。よろしくお願いいたします。

    • ベストアンサー
    • Java
  • フォルダのプロパティ内容の取得-VBA

    サブフォルダとファイルを含むフォルダのプロパティを開くと、 内容欄にファイル数(サブフォルダ内のファイルを含む)とフォルダ数が表示されます。 このファイル数をVBAにて取得する方法を教えて下さい。 特定のフォルダを指定し、そのフォルダ内だけのファイル数取得する方法は、 インターネット上に散見されますが、 サブフォルダ内のファイルを含むファイル数を一発で取得する方法が見つかりません。

  • VBA:ファイルプロパティの一部を取得したい。

    撮った写真の撮影日をファイル名にしようと考えています。カメラはキャノンで、ファイルプロパティの[概要]タブに詳細なプロパティが記述されており、そのなかに[カメラの撮影日]があります。それを取得したいのですがどうすればできるのでしょうか?あくまで撮影日で、作成日時とは違います。ファイルをコピーすると作成日時は変わってしまいあてにならないからです。VBA(エクセル)での操作でしかわからないので、VBA仕様でお答えいただければ助かります。

  • ファイルを指定して開きたいのですが…

    フォルダにいくつかのexcelシートがあります。 それをフォームを使ってそれぞれ呼び出すようにしたいのですが、 カレントディレクトリにあるはずなのに、3回に1回は「ファイルが見つかりません」となり、開けないことがあります。 そこで、先にカレントディレクトリを取得して、その取得した値をもとにフルパス指定するなどして、ファイルを開くようにしたいのですが、できそうでできません。 ちなみに、C:~などとあらかじめ設定してしまうと、コレを利用する複数のユーザがいるのですが、それぞれパスが異なっているために、個人用にパスを書き直さなければならなくなってしまうので、上記の方法を思いつきました。 最悪ネットワーク上に必要なデータ(フォルダ)を置き、そこを開くようにすれば?とも思ったのですが動作が重くなってしまうので、なるべくならやりたくありません。 どなたかお力を拝借できませんでしょうか。

  • 他ユーザーのファイルが簡単に見られる

    win7です。 ユーザーアカウントが複数あります。 新しく作った場合も以下の現象が起こります。 あるユーザーからパスワード付の他ユーザーのユーザーフォルダをエクスプローラーで開こうとすると、 「権限がありません。権限を取得しますか?」みたいな感じのメッセージが出ます。 すると、パスワードを入力することもなく、簡単に他のユーザーの全ファイルが見えてしまいます。 これでは、セキュリティーがゼロ状態ですが、win7とはこういうものなのでしょうか?

専門家に質問してみよう