想要VBA编程达到以下目的: excel文件簿关闭时, 如果文件有修改,则
1、弹出对话框,询问是否保存、,跟EXCEL传统的对话框一样;
2、如果选择的是保存, 如果逢周二、周五则另存为一个备份文件。如果选择的是不保存,则不另存文件。
逢周二、周五另存的代码我已经有了,
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Weekday(Now()) = 3 Or Weekday(Now()) = 6 Then
path1 = "D:\1111\" '备份文件夹路径
filename1 = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & Format(Now, "yyyymmdd") & ".xls"
filename2 = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & Format(Now - 14, "yyyymmdd") & ".xls"
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(path1 & filename1) Then '判断备份文件是否存在
Kill path1 & filename1 '存在的话,删除原来备份文件
ThisWorkbook.SaveAs path1 & filename1 '保存新的文件备份
Else
ThisWorkbook.SaveAs path1 & filename1 '不存在直接保存备份
End If
If fso.FileExists(path1 & filename2) Then '判断备份文件是否存在
Kill path1 & filename2
Else: Exit Sub
End If
Else: Exit Sub
End If
End Sub
这样备份文件始终只有一个!
想要VBA编程达到以下目的: excel文件簿关闭确认保存及备份文件
ThisWorkBook有一个Workbook_BeforeSave事件,只要将代码写在那个事件上就可以达到你的要求了。
使用VBA代码实现excel文档每天自动备份
第1 步:打开要备份的excel文件,在工作表标签上右键单击,点击“查看代码”。第2步 在打开一个visualbasic窗口,双击工程窗口中的thisworkbook,把下面的代码粘贴到右侧的窗口中。代码:Private Sub Workbook_BeforeClose(Cancel As Boolean)On Error Resume Next Dim mypath As String, fname As String...
VBA--保存和关闭工作簿
保存工作簿的方式有两种:一种是直接使用“保存”功能,不改变文件名,将其保存在原位置;另一种是“另存为”,需要指定保存位置和文件名。在VBA中,Save方法用于保存工作簿,而SaveAs方法则用于另存工作簿。此外,VBA还可以显示“另存为”对话框,用于备份文件和确认保存操作。01 保存工作簿的方法 使...
EXCEL VBA的SAVEAS问题
Saveas 是把当前文件另存为另一个文件,所以"当前"文件就变成目标文件了,想要做一个备份,而真正的保留当前文件,请使用 SaveCopyAs,这样才可以达到楼主的目的...即:把 ThisWorkbook.SaveAs ("d:\\temp\\temp全省站点名单1.xls") 改为:ThisWorkbook.SaveCopyAs ("d:\\temp\\temp全省站点名单1.xls")...
EXCEL文件关闭时自动另存为
可以通过VBA实现,写一个宏,设定为关闭时运行。另存为VBA代码如下:Do While Not Flag '循环要求必须输入文件名或者选择文件名 fm=Application.GetSaveAsFilename(fileFilter:="Excel Files(*.xls),*.xls,All files(*.*),*.*")If fm <>Flase Then Activeworkbook.saveAs fm '当前活动工作薄另存...
VBA精选:汇总\/拆分多个工作表,解除工作表保护、文件批量重命名、自动生...
您可以直接在Excel工具栏中安装小火箭,也可以双击小火箭在任意Excel文档中使用,或者使用快捷键Alt + F11或右键查看所有源代码。接下来,让我们一起了解一下小火箭的功能和编程思路。01 汇总工作表 这个功能帮助您一键汇总多个工作表。首先,我们会新建一个汇总表以防止破坏源表数据。接下来,使用For循环...
excel表格如何保存到指定文件夹
要将Excel表格保存到指定文件夹,可以使用VBA代码实现自动化操作。在Excel中,首先按下Alt+F11组合键打开VBA编辑器。然后,在“插入”菜单中选择“模块”,并在新打开的模块窗口中粘贴以下代码:Sub 保存文件()'要另存的位置在上面 ActiveWorkbook.SaveAs Filename:="192.168.5.6备份"'下面这个是平时...
怎么让一个excel表格每天或者每次编辑后自动另存一份
CreateBackup:=False ThisWorkbook.Save End If 6.保存文件. 7.当关闭文件后,会在C:\\目录下出现一个文件,例如,aaa10时32分05秒.xls...,打开后关闭一次就会另存一次. 注意: MyPath="C:\\"这行的C:\\可以自行修改,改为自己已经建立了的备份文件路径.追问:非常感谢,解决了!!!
在Excel里,如何实现自动生成备份文件到另一个文件夹
1.打开需要备份的Excel文件,右击任一工作表标签,选择“查看代码”,或选择“工具→宏→Visual Basic编辑器”菜单,打开Visual Basic编辑器。2.在“工程”窗口中双击“ThisWork book”,此时VBA编辑器标题变为:Microsoft Viusal Basic-“文件名”-[ThisWorkbook(代码)]。3.将以下代码输入到“代码”窗口...
EXCEL VBA的SAVEAS问题
Saveas 是把当前文件另存为另一个文件,所以"当前"文件就变成目标文件了,想要做一个备份,而真正的保留当前文件,请使用 SaveCopyAs,这样才可以达到楼主的目的...即:把 ThisWorkbook.SaveAs ("d:\\temp\\temp全省站点名单1.xls") 改为:ThisWorkbook.SaveCopyAs ("d:\\temp\\temp全省站点名单1.xls")...