アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excelで、上書き保存しようとしたときに
間違っていないかどうか注意を促すような確認のポップアップメッセージを表示させたいのですが、どのようにすればよいのでしょうか。
よろしくお願いします。

A 回答 (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
    • good
    • 0
この回答へのお礼

どうもありがとうございました。とても助かりました。

お礼日時:2006/07/11 01:42

> 上書きしていい人とそうでない人といるので、メッセージ出せたらいいのでは、と思いまして。



#5さんの回答のとおり、
読み取り専用(パスワード付きで書き込み保護の保存)で開くように保存すればよいです。

上書きしていい人にはパスワードを教えれば良いのです。

保存ダイアログボックスの右上の
[ツール]>[全般オプション]
で設定可能です。VBAを使う必要もありません。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=2153973
    • good
    • 0
この回答へのお礼

ありがとうございます。参考になりました。

お礼日時:2006/07/12 23:32

変更があって上書き保存しようとすれば、そもそもExcelがメッセージを発します。

(同じ事ですよね。)
保存されて困るなら、開くと同時に読み取り専用にしてしまえばよろしいのでは?
    • good
    • 0
この回答へのお礼

確かにそうなのですが、上書きしていい人とそうでない人といるので、メッセージ出せたらいいのでは、と思いまして。ご指摘ありがとうございます。

お礼日時:2006/07/11 01:39

ThisWorkbookモジュールに↓を記述、でいかがでしょう?



Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If MsgBox("ほんとに上書きしていいですか", vbOKCancel + vbQuestion) = vbCancel Then
Cancel = True
End If
End Sub
    • good
    • 0
この回答へのお礼

どうもありがとうございました。とても助かりました。

お礼日時:2006/07/11 01:43

通常の保存の前に、メッセージを出すことは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を有効にしていない場合は使えません。
    • good
    • 0
この回答へのお礼

どうもありがとうございました。とても助かりました。

お礼日時:2006/07/11 01:43

マクロを使っていいなら、


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
RC = MsgBox("保存してもいいですか?", vbYesNo)
IF RC = vbNo Then Cansel = True
End Sub
とすれば可能です。
※上記は、名前を付けて保存にも反応します。
    • good
    • 0
この回答へのお礼

どうもありがとうございました。とても助かりました。

お礼日時:2006/07/11 01:41

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