هنگامی که در حال توسعه یک کاربرگ هستید، ممکن است لازم باشد اطلاعات خاصی را در مورد ورک بوک خود پیگیری کنید. به عنوان مثال، ممکن است بخواهید تاریخ ایجاد یک ورک بوک را در یک سلول قرار دهید. در حالی که اکسل برخی از توابع کاربرگ را برای تاریخ ها ارائه می کند (مانند 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 Resume Next
Temp = CreateObject("scripting.filesystemobject"). _
GetFile(ActiveWorkbook.FullName).dateCreated
If Err.Number <> 0 Then
CreateDate = "Not Saved"
Else
CreateDate = Left(Temp, InStr(Temp, " ") - 1)
End If
On Error Goto 0
End Function
توجه داشته باشید که این رویکرد به سلول خاصی در کاربرگ شما گره خورده نیست. برای استفاده از ماکرو، به سادگی موارد زیر را در هر سلول از کاربرگ خود قرار دهید:
=CreateDate()
تابع یا «ذخیره نشده» را برمی گرداند (اگر ورک بوک کاملاً جدید باشد و قبلاً ذخیره نشده باشد) یا یک مقدار متنی را برمی گرداند که نشان دهنده تاریخ ایجاد ورک بوک است.