プロが教える店舗&オフィスのセキュリティ対策術

こんにちは。
共有フォルダにあるExcelファイルを開いた時に○○は編集のためロックされています。のメッセージが出て、読み取り専用で開くか通知するかキャンセルするかのクリックをしないと進みません。
コレを表示させないようにするにはどうすればいいのでしょうか。処理としては読み取り専用で先に進めたいのです。
Private Sub Workbook_Open()で、
Application.DisplatAlerts = False でも
If ThisWorkbook.ReadOnly = True Then でも
その選択肢メッセージがでてきます。
ReadOnlyになれば、使用者の情報などが載った独自のMsgBoxを出して強制終了させたいので、まずそれが出てきたら二度手間と言いますか…
 
そもそもReadOnlyになるかどうかの選択肢なので、 ReadOnly = True Thenに至る前段階の事ですのでどうしようも無いのかなと思い、選択肢が出たうえで読み取り専用に強制的に導いて、独自MsgBoxを出させる事ができれば理想的かなと思います。
 
すいません、お詳しい方、お助けください!
宜しくお願い致します。

A 回答 (2件)

こんにちは


開かれるブック側で設定したいと言う事ですね
共同作業用にしたりするとどうだったか、、
この辺の排他処理が嫌になりExcelを卒業したので、よく知りません。
申し訳ない。

>強制終了させたい
独自のMsgboxは出せなくとも、既存のメッセージでどのボタンを押しても
強制終了するには

Private Sub Workbook_Open()
If ThisWorkbook.ReadOnly Then ThisWorkbook.Close
End Sub

で、既存のメッセージに使用者の情報もあると思いますし良いのではないでしょうか。
読み取り専用で開けなくなるので、もう一つくらい 処理条件を設けた方が良いと思いますが。

ちなみにApplication.Quitはきかないかもです。受付ない場合困るかな
    • good
    • 0
この回答へのお礼

Qchan1962様
 
ありがとうございます。
このファイルは起動後に強制的にログインさせるようなファイルで、ログイン者名を特定のセルに記述させるようにしています。誰かが開いていたら端末名とログイン者名をMsgNoxで返します。Excelの(今回の邪魔な)読み取り専用の通知ですとPCログインのアカウント名が表示されますが、それは全員同じなので事実上誰が開いているかわからないのです。
最初にお教えいただいた方法で回避できるのでしたら、今のファイルをメインとしながら、エントランスファイルを用意してそれを開かせてから自動的にメインを開きに行けば良さそうですね!

お礼日時:2022/01/29 08:14

こんばんは


開かれるブック側で設定したいと言う事でしょうか?
開く側でしたら、
VBAで開くのはダメですか?
Workbooks.Open Filename:="\\XXX\XXX\XXX.xlsx", Notify:=True
Notify:=Trueってデフォルトだったかな・・
    • good
    • 0
この回答へのお礼

Qchan1962様
ご回答ありがとうございます。
複数の人(中にはPC自体あまり詳しくない人も)が使うので、できれば普通にファイルを開きに行く方法が望ましいです‥。難しそうですかね…?

お礼日時:2022/01/27 14:20

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A