Excel打开/关闭时保存不需要的备份副本



我遇到一些问题,我的Access项目将打开Excel工作簿,删除第一行,然后保存并关闭它,并重复5次。我唯一的问题是,每次运行它时,它总是使用备份副本导出。

示例:文件1.xls由于某些原因,File1.xls的备份也会被保存。知道我做错了什么吗?是否由于对打开的文件进行某种写保护而进行备份?

Public Sub RemoveFirstRowExcel(SSFile As String)
On Error GoTo Exit_Proc
Dim xlApp As Object
Dim xlSheet As Object
Set xlApp = CreateObject("Excel.Application")
Set xlSheet = xlApp.Workbooks.Open(SSFile).Sheets(1)
With xlApp
'.Application.Sheets(SSSheet).Select
.Application.Rows("1:1").Select
.Application.Selection.EntireRow.Delete
.Application.ActiveWorkbook.Close SaveChanges:=True
.Quit
End With
Exit_Proc:
Set xlApp = Nothing
Set xlSheet = Nothing
End Sub

有一个布尔只读工作簿属性Workbook.CreateBackup。它是在"另存为"对话框中设置的,方法是单击"工具"按钮(保存按钮旁边)、"常规选项",然后选中"始终创建备份"框。

CreateBackup也是Workbook.SaveAs方法中的一个可选参数。

您可以通过将工作簿保存为自身并清除复选框来将属性重置为false,尽管您会看到常见的"文件存在"警告。

或者您可以调整以下内容以适应您的代码:

Sub SaveAsDisableBackup()
If ActiveWorkbook.CreateBackup = True Then
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs _
        Filename:=ActiveWorkbook.Path & "" & ActiveWorkbook.Name _
        , CreateBackup:=False
    Application.DisplayAlerts = True
End If
ActiveWorkbook.Close (True)
End Sub

通过Workbook.CreateBackup = True创建的备份以.xlk扩展名保存,但您提到它们被保存为File1**.xls**的备份,因此Workbook_BeforeSave事件可能被用于创建备份。

在修改源工作簿之前,请与所有者/作者核实

相关内容

最新更新