0

Excel ドキュメントのバックアップ コピーを作成するマクロがあります。
ドキュメントが保存されるたびにマクロが自動的に実行されるようにするにはどうすればよいですか?

コードは次のとおりです。

Sub BUandSave()  
  'Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)  
  'Saves the current file to a backup folder and the default folder  
  'Note that any backup is overwritten  
 Application.DisplayAlerts = False  
 ActiveWorkbook.SaveCopyAs Filename:="G:\1 Processing\Christine\" & _  
 ActiveWorkbook.Name  
 ActiveWorkbook.save  
 Application.DisplayAlerts = True  
End Sub

このコードをオンラインで入手しましたが、VBA のスキルがありません。助けてください!

編集:わかりました、あなたの答えと洞察に感謝します。もう1つ質問があります。バックアップ コピーが別の名前で保存されるようにするにはどうすればよいですか。ファイルを編集している人が誤って間違ったファイルを編集しようとしないように、DO NOT DELETE または DO NOT EDIT のようなものにしたいと考えています。それをコードに追加するにはどうすればよいですか?

4

1 に答える 1

2

答えはあなたが投稿したコードにあります:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)  
'Saves the current file to a backup folder and the default folder  
'Note that any backup is overwritten  

 Application.DisplayAlerts = False  
 ActiveWorkbook.SaveCopyAs Filename:="G:\1 Processing\Christine\" & ActiveWorkbook.Name  
 ActiveWorkbook.Save
 Application.DisplayAlerts = True  
End Sub

上記のコードをThisWorkbookモジュールに配置します(Alt + F11を押すとVBAエディターが表示されます)。 Workbook_BeforeSaveワークブックイベントです。その中のコードは、イベントがトリガーされるたびに、この場合はブックが保存される前に実行されます。Excelのイベントは非常にクールで、コードスリンガー用の強力なツールです:-)質問に投稿したコードは不要になりました。

于 2012-12-06T17:41:19.483 に答える