1、把这些代码复制到ThisWorkbook项目对象下:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
A = Sheets("Sheet1").Range("A1") '假定工作表1的A1单元格。必需指定工作表名。
B = ThisWorkbook.Path
C = ThisWorkbook.Name
D = B & "\" & A & ".xls" '如果你的Excel版本是2007,则后缀名改为.xlsx
E = B & "\" & C
ActiveWorkbook.SaveAs Filename:=D, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Kill E '本行删除原有文件
End Sub
2、关闭文件时,文件会被自动根据设置的情况进行改名。
Word提供了“自动保存”功能,可以帮助用户在发生断电、死机等故障时恢复尚未保存的工作成果。但是,有时在实际工作中你会遇到这样的尴尬:在尚未保存编辑工作的情况下,你关闭了Word,此时Word会弹出一个对话框,询问是否保存更改,本应单击“是”按钮,然而你却鬼使神差地单击了“否”按钮,结果你辛辛苦苦几个小时的工作成果顷刻间化为乌有,因为这时Word自动保存的工作成果也将不会被保存。痛心疾首吧!其实,你可以创建一个能够在关闭Word时对文档进行保存操作的自动宏,即可防止这种意外的发生。我们就以Word2007为例,谈一谈这一思路的具体实现过程。
认识Word宏和自动宏
在Word中,宏是一系列命令和指令的组合,可以作为单个命令执行来自动完成某项任务。
在创建宏时,通过为一个宏赋予某个特殊的名称,就可在执行某项操作(例如启动Word或打开文档)时自动运行宏。Word将上图所示名称识别为自动宏,或称“auto”宏。
为使宏自动运行,它必须位于活动文档的Normal模板中,或活动文档选用的模板中。唯一例外的是AutoExec宏,它只有存储于以下位置时才可自动运行:Normal模板、通过“模板和加载项”对话框全局加载的模板或由“Startup”文件夹指定的文件夹中的全局模板。在命名冲突的情况下(多个自动宏名相同),Word将运行最近的上下文中的自动宏。例如,如果同时在文档及其附加的模板中创建了AutoClose宏,则仅执行文档中的自动宏。如果在Normal模板中创建了AutoNew宏,只有当文档或其附加的模板中没有名为AutoNew的宏时,该自动宏才能运行。
请“开发工具”出山
与以前Word版本不同,在Word2007中要编写宏、运行以前录制的宏或创建与Word程序一起使用的应用程序,应该显示“开发工具”选项卡。以下操作可请“开发工具”选项卡出山:
第一步:单击“Microsoft Office按钮”,然后单击“Word选项”。
第二步:单击“常用”,在“使用Word时采用的首选项”之下,选中“在功能区显示‘开发工具’选项卡”复选框。
第三步:单击“确定”按钮即可看到效果。
录制自动保存宏
由前面的自动宏名称可知AutoClose宏会在关闭文档时自动运行,以下我们宏录一个AutoClose宏,并赋予该宏保存文档的功能:
第一步:在“开发工具”选项卡上的“代码”组中,单击“录制宏”。
第二步:在“宏名”框中,键入宏名称“AutoClose”。如果键入的新宏的名称与Word中的内置宏名称相同,则新宏操作将替换内置宏。若要查看内置宏列表,请在“开发工具”选项卡的“代码”组中单击“宏”。然后,在“宏的位置”列表中,单击“Word命令”。
第三步:在“将宏保存在”框中,单击要将宏保存在其中的模板或文档,为使该宏对全部文档有效,请选择“所有文档(Normal.dotm)”。
第四步:在“说明”框中,键入对该宏的描述,比如“关闭时对文档进行保存”。
第五步:单击“确定”按钮,开始录制宏。
第六步:单击快速访问工具栏中的“保存”按钮。在“开发工具”选项卡上的“代码”组中,单击“停止录制”。之后,当使用Word编辑文档时,每次关闭文档或退出Word,AutoClose宏会自动运行对文档进行保存操作。如果是尚未命名的新文档,将弹出“另存为”对话框,以便用户为文档命名。
编辑AutoClose宏
以上录制宏的操作是假设Word2007的Normal.dotm模板中尚不存在AutoClose宏,如果该宏已经存在,那么你可以对该宏进行编辑,在其中加上保存文档的代码即可,具体操作如下:
第一步:在“开发工具”选项卡上的“代码”组中,单击“宏”。
第二步:在“宏名”列表中,选择要编辑的宏的名称“AutoClose”。如果该宏没有出现在列表中,请在“宏的位置”列表中选择“所有的活动文档和模板”。然后,单击“编辑”
第三步:在代码窗口加上以下代码:
ActiveDocument.Save
第四步::单击工具栏中的“保存”按钮,然后单击“文件”菜单中的“关闭并返回到Microsoft Word”。
删除AutoClose宏
或许一段时间之后,你又不再需要这个AutoClose宏了,以下的操作可将该宏删除:在“开发工具”选项卡上的“代码”组中,单击“宏”,在“宏名”列表中,选择要删除的宏的名称“AutoClose”,然后单击“删除”即可。
启用文档中的宏
或许,你虽然已经按上述进行了操作,但在关闭Word时,AutoClose宏却并没有运行,这是因为你的Word设置为禁用宏的缘故,以下的操作可以启用宏:
第一步:单击“Microsoft Office按钮”,然后单击“Word选项”。
第二步:依次单击“信任中心”、“信任中心设置”和“宏设置”。
第三步:单击以选中“启用所有宏(不推荐,可能会运行有潜在危险的代码)”复选钮,该选项可允许所有宏运行,这可能会使计算机容易受到潜在恶意代码的攻击,因此不推荐使用。
第四步:依次单击“确定”按钮关闭各对话框。
至此,相信你对Word自动宏有所了解了,愿它们能够在工作中帮助你完成你所需要的特殊服务,以减轻工作强度,提高工作效率,防止操作差错。