在开发工作表时,您可能需要跟踪有关工作簿的某些信息。例如,您可能想将工作簿的创建日期放入单元格中。尽管Excel确实提供了一些日期工作表功能(例如NOW或TODAY),但它不提供工作表功能来访问工作簿创建日期。

这意味着答案在于使用宏。例如,您可以创建一个宏来确定当前日期并将其(作为文本)输入到特定的单元格中。每当您通过命名宏Auto_Open创建新工作簿时,都可以运行此宏。以下是此类宏的示例:

Sub Auto_Open()

If Worksheets.Application.Range("A1") = "" Then         Worksheets.Application.Range("A1") = Format(Date, "long Date")

End If End Sub

宏检查以查看单元格A1中的内容。如果那里什么都没有,那么它将今天的日期的文本版本放在其中。如果已经有东西(每次您以后打开工作簿时都会有),那么信息将保持完整无损。

但是,也许最令人满意的方法是实际访问操作系统并为当前工作簿获取文件创建日期。这可以通过以下宏函数完成:

Function CreateDate() As String     Dim Temp As String     On Error GoTo NoFile     Temp = CreateObject("scripting.filesystemobject"). _       GetFile(ActiveWorkbook.Name).dateCreated

CreateDate = Left(Temp, InStr(Temp, " ") - 1)

GoTo Done NoFile:

CreateDate = "Not Saved"

Done:

End Function

请注意,这种方法不依赖于工作表中的特定单元格。要使用该宏,只需将以下内容放在工作表的任何单元格中:

=CreateDate()

该函数返回“未保存”(如果工作簿是全新的并且以前未保存过),或者返回一个文本值,该值代表创建工作簿的日期。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(2367)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: