Thanh Bình PV
Thành viên hoạt động
- Tham gia
- 30/10/19
- Bài viết
- 151
- Được thích
- 19
Em chào mọi người,
Em có xem trên mạng và sửa lại 1 code để sao lưu dữ liệu theo thời gian.
Nhưng khi sử dụng thì bị lỗi "argument not optional". Bác nào giúp em chỉnh code lại với ạ. Và giải thích cho em tại sao bị lỗi này càng tốt ạ.
Em tìm thử trên mạng nhưng biết sửa sao cả.
Em cảm ơn.
Em có xem trên mạng và sửa lại 1 code để sao lưu dữ liệu theo thời gian.
Nhưng khi sử dụng thì bị lỗi "argument not optional". Bác nào giúp em chỉnh code lại với ạ. Và giải thích cho em tại sao bị lỗi này càng tốt ạ.
Em tìm thử trên mạng nhưng biết sửa sao cả.
Em cảm ơn.
Mã:
Option Explicit
Dim SchTime As Variant
Mã:
Sub AutoBackup(control As IRibbonControl)
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim xWs As Worksheet
Dim xWb As Workbook
Dim FSO As Object
Dim MyFiles As Object
Dim MyPath As String
Dim Check_File As String
Dim i As Integer
Dim thongbao As String
Application.ActiveWorkbook.Save
MyPath = ActiveWorkbook.Path & "\Backup" '<< Duong dan thu muc Import
If Right(MyPath, 1) = "\" Then
MyPath = Left(MyPath, Len(MyPath) - 1)
End If
Set FSO = CreateObject("scripting.filesystemobject")
On Error Resume Next
Set MyFiles = FSO.GetFolder(MyPath).Files
On Error GoTo 0
If FSO.FolderExists(MyPath) = False Then
thongbao = "duong dan backup da duoc tao tai duong dan sau:" & vbLf & MyPath
Dim FolderName As String
Application.ScreenUpdating = False
Set xWb = Application.ActiveWorkbook
FolderName = xWb.Path & "\" & "Backup" '& DateString
FSO.CreateFolder (FolderName)
Application.Assistant.DoAlert "Thanh Binh PV", thongbao, 0, 4, 0, 0, 0
i = 1
ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\Backup\" & _
Left(ActiveWorkbook.name, Len(ActiveWorkbook.name) - 5) & " - " & Format(Date, "dd.mm.yyyy") & " - (" & i & ")" & ".xlsm"
Else
i = MyFiles.Count + 1
Check_File = ActiveWorkbook.Path & "\Backup\" & _
Left(ActiveWorkbook.name, Len(ActiveWorkbook.name) - 5) & " - " & Format(Date, "dd.mm.yyyy") & " - (" & i & ")" & ".xlsm"
Do While FileExists(Check_File) = True
i = i + 1
Check_File = ActiveWorkbook.Path & "\Backup\" & _
Left(ActiveWorkbook.name, Len(ActiveWorkbook.name) - 5) & " - " & Format(Date, "dd.mm.yyyy") & " - (" & i & ")" & ".xlsm"
Loop
ActiveWorkbook.SaveCopyAs Check_File
End If
SchTime = Now + Sheet1.Range("A3").Value
Application.OnTime SchTime, "AutoBackup"
End Sub
Mã:
'Kiem tra file da ton tai chua
Function FileExists(ByVal FName) As Boolean
' Tra ve TRUE neu file ton tai, không ton tai là FALSE
' fname là tên File bao gom ca tên duong dan
Dim x As String
On Error GoTo TBLoiPath
x = Dir(FName)
If x <> "" Then FileExists = True Else FileExists = False
Exit Function
TBLoiPath:
FileExists = False
End Function
Mã:
Sub StopTime(control As IRibbonControl)
On Error Resume Next
Application.OnTime SchTime, "AutoBackup", , False
End Sub