No.3ベストアンサー
- 回答日時:
こんにちは。
>昔、同僚だった人のPCを使って作業していたときはそのようなメッセージが出てくれて、
それは、見かけの「上書き保存(FaceID = 3)」のアイコンを使い、中身は、別のコマンドを呼んでいるだけだと思います。
On Error Resume Next
ActiveWorkbook.SaveAs ActiveWorkbook.Name
On Error GoTo 0
しかし、以下は、実際に私が使っているものを書き換えたもので、私のものは、もう少し複雑な働きをしています。ただ、Ctrl + S を設定だけは、意図的に抜いています。必要なら、付け加えます。
一旦保存して、再起動すると、設定されています。
Wordに関しては、時間があったら、また、書き込みます。
「個人用マクロブック」に登録してください。
'標準モジュール
Private ClassBtns(1) As New Class1
Public cnt As Integer
Sub Auto_Open()
With Excel.Application
Set ClassBtns(0).Btn = .CommandBars("Standard").FindControl(, 3)
Set ClassBtns(1).Btn = .CommandBars("File").FindControl(, 3)
End With
End Sub
'クラスモジュール (Class1)
Private WithEvents myBtn As Office.CommandBarButton
Public Property Set Btn(ByVal myNewBtn As CommandBarButton)
Set myBtn = myNewBtn
End Property
Private Sub myBtn_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
Dim FileName As String
Dim Ret As VbMsgBoxResult
If cnt > 0 Then
cnt = 0
Exit Sub
End If
FileName = ActiveWorkbook.Name
cnt = cnt + 1
If FileName Like ".xl?" Then
Application.Dialogs(xlDialogSaveAs).Show
Exit Sub
End If
If Dir(FileName) <> "" Then
Ret = MsgBox("この場所に'" & FileName & "'というファイルが既にあります。置き換えますか?", vbYesNoCancel + vbExclamation)
If Ret = vbYes Then
ActiveWorkbook.Save
Exit Sub
ElseIf Ret = vbNo Then
Application.Dialogs(xlDialogSaveAs).Show FileName
Exit Sub
Else
Exit Sub
End If
End If
End Sub
なお、全ての保存に対してメッセージが出るのではなく、既に、同じフォルダに同名のファイルがある場合に出ることとと、上書きにコマンドを使ったときにだけでます。また、Workbook_BeforeSave イベントは、あくまでも、自ブックだけです。Application イベントを作らなくてはなりません。しかし、もともと、ボタンに対するものならば、ボタンにインスタンス等を設定したほうが楽です。
ありがとうございます。ご回答の内容は保存させていただき、勉強して理解できるようになったら実施したいと思います。ありがとうございました。
No.4
- 回答日時:
追加
#3のWordのコードです。Normal.dot に登録してください。
なお、ふだんは、オブジェクトは壊れないのですが、Excel/Wordとも、コードをいじらないように、プロジェクトを簡単なパスワードでロックしたほうがよいです。
'--------------------------------------------
'標準モジュール
Private ClassBtns(1) As New Class1
Public cnt As Integer
Sub Auto_Open()
With Word.Application
Set ClassBtns(0).Btn = .CommandBars("Menu Bar").Controls("ファイル(&F)").Controls("上書き保存(&S)")
Set ClassBtns(1).Btn = .CommandBars("Standard").FindControl(, 3)
End With
End Sub
'--------------------------------------------
'クラスモジュール (Class1)
Private WithEvents myBtn As Office.CommandBarButton
Public Property Set Btn(ByVal myNewBtn As CommandBarButton)
Set myBtn = myNewBtn
End Property
Private Sub myBtn_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
Dim FileName As String
Dim Ret As VbMsgBoxResult
If cnt > 0 Then
cnt = 0
Exit Sub
End If
FileName = ActiveDocument.Name
cnt = cnt + 1
If FileName Like ".do?" Then
Application.Dialogs(xlDialogSaveAs).Show
Exit Sub
End If
If Dir(FileName) <> "" Then
Ret = MsgBox("この場所に'" & FileName & "'というファイルが既にあります。置き換えますか?", vbYesNoCancel + vbExclamation)
If Ret = vbYes Then
ActiveDocument.Save
Exit Sub
ElseIf Ret = vbNo Then
Application.Dialogs(wdDialogFileSaveAs).Show FileName
Exit Sub
Else
Exit Sub
End If
End If
End Sub
'--------------------------------------------
No.1
- 回答日時:
「上書き」ボタンは、警告や確認無しで上書き保存する為のボタンですのですので、標準では警告を出すようには出来ないと思います。
「同僚だった人」に、設定を確認する事はできないのですか?
上書き前に警告を出したいのでしたら、ツールバーから「上書き」ボタンを消して、常に名前を付けて保存で保存する事にしても良いですね。
または、ExcelならThisWorkbook に、↓の様なマクロを入れる事で保存前に警告を出せますが……。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI = False Then
If MsgBox("上書き保存します。", vbOKCancel) = vbCancel Then Exit Sub
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) Excel、Wordのファイル 3 2023/05/07 04:58
- Word(ワード) Wordのデータが毎回破損してしまう 1 2022/08/24 11:30
- その他(Microsoft Office) ExcelデータをPDFにして保存するとWordデータに変換されるようになった 10 2023/06/20 09:03
- Word(ワード) Wordの文書ファイルの「名前を付けて保存」について「 3 2023/05/04 09:36
- ノートパソコン PCのshift+右クリックについて 2 2022/08/22 08:52
- その他(Microsoft Office) PCを買い換えました。 今使っているノートパソコンが10年以上使っており新しく買い換えました。Win 5 2023/03/26 00:18
- Word(ワード) PCで作ったwordをスマホで編集しようとすると「このファイルは読み取り専用です。」と表示される。 3 2023/05/30 14:51
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/02/07 09:58
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
VBAを使って、上書き保存の再確認メッセージを出したい。
Visual Basic(VBA)
-
EXCELデータ保存時にメッセージを表示させたい。
Access(アクセス)
-
エクセルで
Excel(エクセル)
-
-
4
「上書き保存確認ダイアログ」を出すには?
Excel(エクセル)
-
5
エクセル終了時の保存確認メッセージが出ない
Excel(エクセル)
-
6
上書き保存の確認
Excel(エクセル)
-
7
EXCEL/VBA:WORDファイルの上書き保存を確認する方法
Visual Basic(VBA)
-
8
Wordの文書ファイルの「名前を付けて保存」について「
Word(ワード)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルを上書き保存したのに...
-
エクセルでVBAを使用して1分毎...
-
エクセル文書を保存したらメモ...
-
Excel画面の自動更新 Excelファ...
-
OneDriveに保存したファイルは...
-
ピボットテーブルの更新ができない
-
マクロ VBA ファイル名を連番...
-
エクセルで保存の前に固まって...
-
「変更を保存しますか?」と聞...
-
メール添付されているファイル...
-
いきなりPDFでPDFファイルを開...
-
エクセルで「ファイル保存名」...
-
「上書き保存」で一度警告を出...
-
メールソフト「サンダーバード...
-
「名前を付けて保存」ができな...
-
エクセルで作った書類の作成者...
-
エクセル 更新していないのに...
-
開いてるファイル(エクセル等)...
-
エクセル・マクロ(VBA)で、指定...
-
Excelで上書き保存時の確認をは...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルを上書き保存したのに...
-
Excel画面の自動更新 Excelファ...
-
エクセル文書を保存したらメモ...
-
いきなりPDFでPDFファイルを開...
-
メール添付されているファイル...
-
エクセルでCSVファイルとして保...
-
エクセルでVBAを使用して1分毎...
-
ピボットテーブルの更新ができない
-
マクロ VBA ファイル名を連番...
-
開いてるファイル(エクセル等)...
-
OneDriveに保存したファイルは...
-
Illustratorファイルに読み取り...
-
エクセル・マクロ(VBA)で、指定...
-
「名前を付けて保存」ができな...
-
エクセルで作った書類の作成者...
-
エクセル表のCSV化ができない
-
セルの塗りつぶしの色を好きな...
-
「変更を保存しますか?」と聞...
-
エクセルがwindows終了時に未保...
-
エクセルで保存の前に固まって...
おすすめ情報