
Excel のマクロで、読み取り専用から編集状態に入ったときに
自動実行される仕組みは作れないものでしょうか?
どんなシチュエーションかというと…
------------------------------------------------------------
1.Aさんが \\Folder\File1.xls を開く
2.Bさんが \\Folder\File1.xls を開くと、読み取り専用になって開く
3.Aさんがファイルを閉じる
4.Bさんに「使用可能」通知が来る(編集しますか?と聞かれる)
5.Bさん【編集】するをクリックする
この、5.Bさんが編集可能になった時点で、自動で実行するマクロを記述したいんです。
エクセルを開くときに自動実行するマクロありますよね。(Auto_Open() や、WorkBook_Open() など)
そういう感じで 編集可能になったら走るマクロって可能でしょうか。
理由は、このファイルを開くと同時に上書き保存してるんですが
(BuiltinDocumentProperties("Last author") ←の値をとるためです)
今度また別の人が開いたとき、今はBさんが編集しているのに
最終保存者=Aさんの名前で 使用者通知がされてしまうのです。
さらに補足しますと、マクロで制御しないと
「このファイルは Aさんが使ってます。読み取り専用で開く?」が
表示された後 「キャンセル」を選択すると 異常終了してしまうので
"Last author"を取得する方法しかないんです。(他にあったりして?)
理想は、
4.Bさんに「使用可能」通知が来る(編集しますか?と聞かれる)
の表示をさせずに マクロの制御で
「使用可能になりました。いったん閉じてから再度開き直してください」
という仕組みに出来たら最高です。
長くなりましたがよろしくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
んー…失礼しました。
私のほうも再現できました。1)Aさんが \\Folder\File1.xls を開く
2)Aさんが \\Folder\File1.xls を保存する
3)Bさんが \\Folder\File1.xls を開く(読み取り専用)
4)Aさんが(2)の後、保存せずにファイルを閉じる
5)Bさんが「使用可能」通知で[編集]クリックする
このような条件の時は開き直さなくてもいい時があるみたいですね。
前編集者が開いて一度は保存しないとダメなようです。
その後に次の編集者が開いて、以降保存されてない場合は「読み取り専用」の解除だけでいけるようです。
この条件を満たしていれば、次の編集者が編集していても「読み取り専用」の解除だけで済むというのは意外でした。
ありがとうございます、勉強になりました。
#全てのパターンを試したわけではないので、他にも条件があるのかもしれません。
#あったらご教示お願いします。
#複数編集者のリレー状態だと上記条件だけではないようですし。
となると、どのように対応しましょうかね...
安易に考えると、Close時に必ず上書き保存するようにすればいいような感じですが、
実務面を考えるとちょっと危険な気もしますし。
保存しないつもりで仮作業を行うケース、などを除外するよう運用面で考慮(Closeに保存必須を了解事項としておくとか)
...というのもありでしょうか?
ただ
>今度また別の人が開いたとき、今はBさんが編集しているのに
>最終保存者=Aさんの名前で 使用者通知がされてしまうのです。
これは、
AさんOpen→BさんOpen→AさんClose→CさんOpen
の時に『使用者は'Aさん'です』という既定メッセージが出るという事でしょうか?
Excel既定のメッセージを使うのであれば、その時点での編集者のBさんが表示されると思うのですが、
これもまた何かの条件によって違いがあります?
あと、
>マクロで制御しないと
>「このファイルは Aさんが使ってます。読み取り専用で開く?」が
>表示された後 「キャンセル」を選択すると 異常終了してしまうので
>"Last author"を取得する方法しかないんです。(他にあったりして?)
この『異常終了』が回避できれば、Excel既定のメッセージを使う、という解釈で良いのでしょうか?
No.2
- 回答日時:
どんな環境ですか?
winXP/xl97,2000,2003,2007で確認済みですが、開き直されます。
マクロのセキュリティなど確認してみてください。
念のためWorkBook_Open()とAuto_Open()だけの新規Bookでテストしてみるのも良いかもしれません。
No.1
- 回答日時:
Bさんが[通知]オプションで読み取り専用で開いた場合、「ファイル使用可能」通知の[編集]をクリックするとBookが開き直されますよね。
つまりWorkBook_Open()やAuto_Open()が使えませんか?
ありがとうございます。
あれからこんな実験してみました。
WorkBook_Open() の中で
MsgBox "WorkBook_Open を通ってます"
Auto_Open()の中で
MsgBox "Auto_Open を通ってます"
「ファイル使用可能」通知の[編集]をクリックするとBookが開き直されるのであれば上記のメッセージが出るはず…?
ところが結果は、出ませんでした。
きっとBookが開き直されたのではなく
「読み取り専用」モードが「編集」モードに切り替わったのではという気がします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Word(ワード) PCで作ったwordをスマホで編集しようとすると「このファイルは読み取り専用です。」と表示される。 3 2023/05/30 14:51
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- Excel(エクセル) Excelの読み取り専用について質問です。 最初に開いてる人が編集しているデータは、読み取り専用を開 2 2022/06/16 21:59
- その他(Microsoft Office) エクセルのマクロについて教えてください。 5 2023/01/21 09:39
- Visual Basic(VBA) エクセルVBA エクセルを開いた後に編集可能な状態にするには? 2 2023/06/14 11:58
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
- その他(ソフトウェア) 特定のpremiere proのファイルが開けなくなりました。 1 2022/11/16 12:31
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Excel(エクセル) Excelで、社外秘(閲覧のみ)と表示され、共有者が編集出来ないのですが 4 2023/06/20 17:54
- 画像編集・動画編集・音楽編集 inkscapeで作成した図の保存の仕方とその保存したファイルの編集の仕方 1 2022/09/22 09:33
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelブックの共有をしているの...
-
エクセルで誰が今開いているか...
-
Excel>PERSONAL.XLSが開かれて...
-
EXCEL共有ファイルの使用中の相...
-
Chromebookを使用しています。 ...
-
パワーポイント「スライドの保護」
-
PCで作ったwordをスマホで編集...
-
読み取り専用ファイルを印刷レ...
-
Excelのファイルが突然開けな...
-
ファイルの2重に開いた場合の...
-
Excelが読み取り専用になる件に...
-
ACCESSでデータ読み取り専用を...
-
バッチファイルでExcelを読み取...
-
フロッピーディスクを使ってい...
-
ExcelのVBAでWordを読み取り専...
-
WORDで読み取り専用から読...
-
上書き保存するとコピーがいく...
-
危険なファイルを正常にする方法
-
excel2003でxlsxファイルを更新...
-
CD-Rは水に濡れても大丈夫?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL共有ファイルの使用中の相...
-
エクセルで誰が今開いているか...
-
Excelブックの共有をしているの...
-
excel で通知と読み取り専用の...
-
Excelが読み取り専用になる件に...
-
Excel>PERSONAL.XLSが開かれて...
-
Chromebookを使用しています。 ...
-
バッチファイルでExcelを読み取...
-
Excelのファイルが突然開けな...
-
エクセルで他の人が開いたとき...
-
ACCESSでデータ読み取り専用を...
-
危険なファイルを正常にする方法
-
読み取り専用にチェックが入っ...
-
エクセルで上書き保存すると
-
autocadが作業途中で読み取り専...
-
PCで作ったwordをスマホで編集...
-
Excelが読み取り専用にならない
-
ExcelのVBAでWordを読み取り専...
-
EXCELファイルが読み取り専用で...
-
エクセル共有ブックが読み取り...
おすすめ情報