ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
110 visibility
موضوع: آفیس توسط:

اگر به ویژگی های ذخیره شده با یک کتاب کار نگاه کنید، متوجه خواهید شد که اکسل اطلاعات کمی در مورد فایل را حفظ می کند. یکی از موارد تاریخ و ساعتی است که به سادگی با عنوان "تغییر شده" ذکر می شود. بسیاری از مردم به این تاریخ به عنوان «آخرین تغییر» اشاره می‌کنند، اما در واقع آخرین باری که کتاب کار ذخیره شده است را نشان می‌دهد.

اگر می‌خواهید از این تاریخ در کتاب کار خود استفاده کنید (شاید در سرصفحه یا پاورقی)، می‌توانید این کار را با استفاده از ویژگی BuiltinDocumentProperties (که تقریباً زائد به نظر می‌رسد) انجام دهید. ماکرو زیر تاریخ مناسب را به سربرگ سند شما اضافه می کند:

Sub MyHeader1()
    Dim sLMD As String

    On Error Resume Next

    sLMD = ActiveWorkbook.BuiltinDocumentProperties("Last Save Time")
    If Err = 440 Then
        Err = 0
        sLMD = "Not Set"
    End If
    sLMD = Left(sLMD, 8)
    ActiveSheet.PageSetup.LeftHeader = "Last Saved: " & sLMD
End Sub

در این ماکرو مواردی وجود دارد که باید به آنها توجه کنید. اول از همه، سعی می کند آخرین تاریخ ذخیره کتاب کار را تعیین کند. اگر آن اطلاعات را نتوان تعیین کرد، هدر را روی "تنظیم نشده" تنظیم می کند.

توجه داشته باشید که برخی از خطاها در این ماکرو انجام شده است. دلیل آن این است که اگر یک ویژگی سند خاص (در این مورد BuiltinDocumentProperties) تنظیم نشود، اکسل یک خطا برمی گرداند. خطا باید رهگیری و رسیدگی شود که در اینجا انجام می شود.

نکته دیگری نیز در اینجا قابل ذکر است. در برخی از نسخه‌های اکسل، مقدار Err که در صورت تنظیم نشدن ویژگی برگردانده می‌شود، واقعاً 440 نیست (همانطور که در اینجا نشان داده شده است)، بلکه برخی از اعداد فرد دیگری مانند -2147467259 است. این واقعاً بسیار عجیب است. من نمی دانم که چرا مقدار 440 (که کد خطای مناسب است) در یک شرایط برگردانده می شود و در شرایط دیگر نه. (شاید یکی دیگر از اساتید اکسل جواب را بداند.) اگر این مشکل را دارید، دو روش وجود دارد که می توانید در پیش بگیرید. ابتدا می توانید مقدار 440 را با مقدار دیگر (2147467259-) جایگزین کنید. گزینه دوم، با فرض اینکه قبلاً کتاب کار را حداقل یک بار ذخیره کرده اید، استفاده از یک ماکرو متفاوت است. موارد زیر ویژگی «آخرین تغییر» را از خود فایل می‌خواند و آن اطلاعات را در هدر ذخیره می‌کند:

Sub MyHeader2()
    Dim fs As Variant
    Dim f As Variant
    Dim sLMD As String

    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFile(ActiveWorkbook.Path & "" & _
      ActiveWorkbook.Name)
    sLMD = Left(f.DateLastModified, 8)
    ActiveSheet.PageSetup.LeftHeader = "Last Modified: " & sLMD
End Sub

صرف نظر از اینکه از کدام ماکرو استفاده می کنید، به یاد داشته باشید که ماکرو پس از اجرا، هدر سمت چپ را روی اطلاعات مورد نظر تنظیم می کند. تا زمانی که ماکرو را دوباره اجرا نکنید، این اطلاعات دوباره تغییر نخواهد کرد. بنابراین، اگر همیشه یک تاریخ به‌روز در هدر می‌خواهید، باید ماکرو را به صورت دوره‌ای اجرا کنید (شاید درست قبل از چاپ) یا آن را طوری تنظیم کنید که هر زمان که سند خود را باز می‌کنید اجرا شود.

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 30 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 31 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 38 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 37 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 28 visibility
ارسال شده در 27 تیر 1402 موضوع: آفیس توسط: Admin

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

161 نفر آنلاین
0 عضو و 161 مهمان در سایت حاضرند
بازدید امروز: 22928
بازدید دیروز: 17853
بازدید کل: 20335107
...