macros保存后恢复更改

我发现一个旧脚本在线closures文档而不保存更改,然后重新打开文档:

Sub RevertFile() wkname = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name ActiveWorkbook.Close Savechanges:=False Workbooks.Open Filename:=wkname End Sub 

我想要这个,因为你不能“撤销”由于运行一个macros造成的变化。 但是,它似乎并没有在MS Office v1609中工作。 首先,文件在closures后不会重新打开。 其次,当我不想要他们的时候,修改就会保存下来。 我怎样才能重写这个脚本来使其工作? 谢谢。

[编辑]

这是我正在使用的另一个子程序。

 Sub FixPlatforms() 'PURPOSE: Find & Replace a list of text/values throughout entire workbook 'SOURCE: www.TheSpreadsheetGuru.com/the-code-vault Dim sht As Worksheet Dim platList As Variant Dim x As Long platList = Array _ ( _ "PS4", "PlayStation 4", _ "PS3", "PlayStation 3", _ "PS2", "PlayStation 2", _ "PSV", "PlayStation Vita", _ "PSP", "PlayStation Portable", _ "WIN", "Microsoft Windows", _ "SNES", "Super Nintendo Entertainment System" _ ) 'Loop through each item in Array lists For x = 1 To UBound(platList) Step 2 'Loop through each worksheet in ActiveWorkbook For Each sht In ActiveWorkbook.Worksheets sht.Cells.Replace What:=platList(x), Replacement:=platList(x - 1), _ LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _ SearchFormat:=False, ReplaceFormat:=False Next sht Next x End Sub 

有什么问题吗?

无论如何,您都不必closures工作簿。 试图打开已打开的工作簿会产生以下内容。

在这里输入图像说明

添加application.displayalerts = false应该足以避免该确认。

 Option Explicit Sub RevertFile() Dim wkname As String wkname = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name Application.DisplayAlerts = False Workbooks.Open Filename:=wkname Application.DisplayAlerts = True End Sub