قبلا در مورد بکاپ اکسل و پشتیبانگیری از اکسل در دوره مقدماتی جامع صحبت کرده ایم و توضیحات لازم داده شده ، حالا در این مطلب قصد داریم آموزش بدیم که چطور با چند خط کدنویسی ساده می تونید یک کپی از فایل اکسل خودتون هنگام بسته شدن تهیه کنید.
فهرست محتوا
مراحل ایجاد پشتیبانگیری از اکسل
فرض می کنیم که یک فایل اکسل دارید و می خواهید که هر بار فایل اکسل بسته می شود ، علاوه بر این که خود فایل ذخیره می شود ، یک کپی هم همزمان در محل مشخص شده شما ، که در این مثال و کدها درایو D پوشه Back می باشد ، ایجاد نماید.
- با زدن کلیدهای Alt + F11 وارد محیط کد نویسی شوید
- سعی کنید در آن واحد فقط همین فایل جاری باز باشد تا کدها را جای اشتباهی قرار ندهید.
- از آبجکتهای سمت چپ workBook را انتخاب نمائید .
- از قسمت سمت راست هم منوی کشویی WorkBook و گزینه Before Close را انتخاب کنید.
- کدهای زیر را آنجا قرار دهید.
- فایل را با پسوند XLSM ذخیره نمائید تا ماکرو اینیبل باشد.
- کار تمام است و حالا هر بار که برنامه را ببندید یک کپی از آن با نامی که در B1 وارد کرده اید ذخیره می شود.
Dim path As String path = "d:\Back\" Application.DisplayAlerts = False ThisWorkbook.Save ThisWorkbook.SaveAs Filename:=path & Range("b1").Text, FileFormat:=52 Application.DisplayAlerts = True Application.Quit
نحوه شخصی سازی بکاپ در اکسل
برای اینکه بتوانیم کدهای بالا را مطابق با نیاز خود تغییر دهیم ابتدا باید بدانیم که چگونه کار می کنند و به چه منظوری نوشته شده اند ، که شرح کدهای بالا برای پشتیبانگیری از اکسل از این قرار است:
- در خط اول یک متغیر از نوع رشته ای تعریف شده است
- در خط دوم مقدار متغیر برابر با آدرس درایو D پوشه Back قرار گرفته.
- خط سوم به اکسل گفته ایم که پیغامهای تایید را نمایش نده .
- خط چهارم فایل جاری را ذخیره میکند .
- خط پنجم ، فایل جاری را با نامی که در آدرس B1 وارد شده است در مسیر کد های خط دوم ذخیره میکند.
- خط ششم مجددا پیغامهای تایید اکسل را فعال می کند .
- خط هفتم هم برنامه را می بندد.
نکات مهم:
- با استفاده از کدهای بالا شما حتما باید در درایو D پوشه ای با نام Back داشته باشید.
- انتهای خط پنجم عدد 52 وارد شده که مشخص کننده پسوند XLSM هست که شماره پسوندهای دیگر اکسل هم قابل استفاده هستند.
ذخیره خودکار با نام تاریخ و ساعت
برای اینکه ذخیره های جدید تر روی فایل قبلی قرار نگیرید می توانیم از تاریخ و ساعت جاری سیستم برای نام فایل استفاده کنیم که همواره نام منحصر به فرد به فایلهای بکاپ اختصاص داده باشیم .
پس مراحل قبلی را طی می کنیم و اینبار کدهای زیر را به کار می بریم.
Dim path As String path = "d:\Back\" If Len(Dir(path & "\", vbDirectory)) = 0 Then MkDir path Shell "C:\WINDOWS\explorer.exe """ & path & "", vbNormalFocus Else Shell "C:\WINDOWS\explorer.exe """ & path & "", vbNormalFocus End If Application.DisplayAlerts = False ThisWorkbook.Save ThisWorkbook.SaveAs Filename:=path & Format(Now, "yyyymmddhhnnss"), FileFormat:=52 Application.DisplayAlerts = True Application.Quit
برای بکاپ اکسل ، کدهای بالا تکمیل شده و اگر فولدر Back در درایو D وجود نداشته باشد آن را می سازد و همچنین نام فایل را برابر با تاریخ فعلی سیستم در نظر می گیرد.
شما هم اگر نظری برای آپدیت پشتیبانگیری از اکسل دارید ، خوشحال می شوم که در قسمت نظرات آنها را بخوانم 🙂