- ベストアンサー
Excelでメッセージを表示させたいのですが
Excelで、上書き保存しようとしたときに 間違っていないかどうか注意を促すような確認のポップアップメッセージを表示させたいのですが、どのようにすればよいのでしょうか。 よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
ThisWorkbook に下記のように記入してください。 「保存」する場合に表示されます。 上書き保存の検知はしてません。 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim Mes As String Mes = MsgBox("内容の確認は済みましたか?" & vbLf & "このブックを保存しますか?", vbQuestion + vbYesNo, "保存確認") If Mes = vbNo Then Cancel = True MsgBox "保存処理を取消しました。", vbExclamation Else MsgBox "保存処理を実行します。" End If End Sub
その他の回答 (5)
- TTak
- ベストアンサー率52% (206/389)
> 上書きしていい人とそうでない人といるので、メッセージ出せたらいいのでは、と思いまして。 #5さんの回答のとおり、 読み取り専用(パスワード付きで書き込み保護の保存)で開くように保存すればよいです。 上書きしていい人にはパスワードを教えれば良いのです。 保存ダイアログボックスの右上の [ツール]>[全般オプション] で設定可能です。VBAを使う必要もありません。
お礼
ありがとうございます。参考になりました。
- NCU
- ベストアンサー率10% (32/318)
変更があって上書き保存しようとすれば、そもそもExcelがメッセージを発します。(同じ事ですよね。) 保存されて困るなら、開くと同時に読み取り専用にしてしまえばよろしいのでは?
お礼
確かにそうなのですが、上書きしていい人とそうでない人といるので、メッセージ出せたらいいのでは、と思いまして。ご指摘ありがとうございます。
- marbin
- ベストアンサー率27% (636/2290)
ThisWorkbookモジュールに↓を記述、でいかがでしょう? Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If MsgBox("ほんとに上書きしていいですか", vbOKCancel + vbQuestion) = vbCancel Then Cancel = True End If End Sub
お礼
どうもありがとうございました。とても助かりました。
- TTak
- ベストアンサー率52% (206/389)
通常の保存の前に、メッセージを出すことはVBAを使えばできます。 BeforeSaveイベントを利用します。 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If MsgBox("メッセージ", vbYesNo + vbExclamation) = vbNo Then Cancel = True End If End Sub ただし、VBAを有効にしていない場合は使えません。
お礼
どうもありがとうございました。とても助かりました。
- mshr1962
- ベストアンサー率39% (7417/18945)
マクロを使っていいなら、 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) RC = MsgBox("保存してもいいですか?", vbYesNo) IF RC = vbNo Then Cansel = True End Sub とすれば可能です。 ※上記は、名前を付けて保存にも反応します。
お礼
どうもありがとうございました。とても助かりました。
お礼
どうもありがとうございました。とても助かりました。