none
ExcellVBAで一つのファイルに同時アクセスしたとき他で使用中のメッセージを出させるには? RRS feed

  • 質問

  • エクセルVBAで作成したソフト(特定の場所にある一つのファイル読み出して変更する)を複数の人に配布したのですが,複数の人が同じファイルを同時に読み込もうとしても「他で編集されていてロックされています・・」等のメッセージは出ません。ファイルを上書き保存するときに「名前を付けて保存」のウインドウになって初めて同時使用がわかるのです。VBAのコードで読み込んだときにはこのメッセージが出ないのです。本当は複数の人がファイルにアクセスした場合すぐにメッセージが出るとありがたいのですが・・VBAの中で,同時アクセスがわかる方法はないものでしょうか。VBAの読み込みコードは

     

        FilePath = ****       'ソフトのパスを含むファイル名
        'ファイルをオープンする
        On Error GoTo errTrap
            Workbooks.Open FileName:=FilePath
        On Error GoTo 0
    です。

    2012年8月30日 14:16

回答

  • Workbooks.Open には Workbook の戻り値があります。
    その戻り値をWorkbook型の変数で受けてください。
    Workbook には ReadOnlyプロパティがありますので、そのプロパティが True になっていれば読取専用で開いています。
    • 回答としてマーク 佐伯玲 2012年9月3日 0:38
    2012年8月31日 9:10

すべての返信

  • Workbooks.Open には Workbook の戻り値があります。
    その戻り値をWorkbook型の変数で受けてください。
    Workbook には ReadOnlyプロパティがありますので、そのプロパティが True になっていれば読取専用で開いています。
    • 回答としてマーク 佐伯玲 2012年9月3日 0:38
    2012年8月31日 9:10
  • hihijiji さん

    回答ありがとうございます。おかげさまで解決しました。

    File Open後にReadOnly プロパティを調べればOKですね。眼からうろこでした。

    2012年9月1日 3:07
  • こんにちは、しげちゃん さん
    フォーラムオペレータの佐伯 玲 です。

    hihijiji さんの返信をもとに無事解決されたようなので
    勝手ながら私のほうで「回答としてマーク」をさせて頂きました。

    解決に役立った情報や、参考になる情報など有効な情報には回答としてマークすることをお願いしております。
    回答者の方に既にこの投稿が解決していることをお知らせしたり、
    同じ問題でこの投稿を参照される方にも有効な情報を活用頂けると思いますので、ご協力宜しくお願い致します。


    今後ともMSDNフォーラムを宜しくお願い致します。
    __________________________
    日本マイクロソフト株式会社 フォーラム オペレーター 佐伯 玲

    2012年9月3日 0:38