برای اینکه موقع بستن فایل اکسل خود به خود ازش بک آپ بگیره؛ یه تکه کد نوشتم که اول Save کنه و بعد SaveAs و بعد هم Close کنه.
وقتی می خواد SaveAs کنه پنجره باز میشه که سه گزینه داره.
اگر غیر Ok بزنیم خطای VBA میده و وارد کد میشه.
راه حلش چیه؟ آیا میشه دستکاری کرد که فقط Ok داشته باشه یا کار دیگه میشه کرد؟
کد php:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.Save
If ActiveWorkbook.FullName = "F:\My Documents-eppagh\Office\Excel\Learn\VBA\FirstProgram.xlsm" Then
ActiveWorkbook.SaveAs ("G:\FirstProgram.xlsm")
ActiveWorkbook.Close
End If
End Sub
در این صورت میگه که یه فایل از قبل با همین مشخصات هست. جایگزین کنم یا نه؟ با سه گزینه: Yes,No,Cancel. اگر No یا Cancel انتخاب بشه دیباگ میده و میره توی کد قسمت
کد php:
ActiveWorkbook.SaveAs ("G:\FirstProgram.xlsm")
رو نشون میده.
نمیدونم اررورش واسه چی بوده
ولی این کد جواب داد:
کد php:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
ActiveWorkbook.Save
ActiveWorkbook.SaveAs ("d:\FirstProgram.xlsm")
ActiveWorkbook.Close
End Sub
درواقع اولش On Error Resume Next اضافه کردم که دیگه اررور نده!