بعد إذن الأستاذي /ضاحي الغريب
أستاذي إبراهيم انا جربت هذا الكود ونجح معي
غير هذا الكود
Application.Quit
بهذا الكود
ActiveWorkbook.Close False
في
Private Sub L_In_Click()
Private Sub L_OUT_Click()
اخى ضاحى
بالفعل كود جمل من الاخ الجموعى بارك الله فيه
وانا شخصيا كنت بستخدم
ActiveWindow.Close
لكن المشكله
الى انا اقصدها
هى بتكون فى حالة
وجود الكود الاتى فى حدث الورك بوك
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayFullScreen = False
Application.DisplayFormulaBar = True
Application.DisplayStatusBar = False
Dim strDate As String, DefPath As String
Dim FileNameZip, FileNameXlsm
Dim oApp As Object
If ActiveWorkbook Is Nothing Then Exit Sub
DefPath = ActiveWorkbook.Path
If Len(DefPath) = 0 Then
MsgBox "Plz Save activeworkbook before zipping" & Space(12), vbInformation, "zipping"
Exit Sub
End If
If Right(DefPath, 1) <> "\" Then
DefPath = DefPath & "\"
End If
strDate = Format(Now, " dd-mmm-yy h-mm-ss")
FileNameZip = DefPath & Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & strDate & ".zip"
FileNameXlsm = DefPath & Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & strDate & ".xlsB"
On Error Resume Next
If Dir(FileNameZip) = "" And Dir(FileNameXlsm) = "" Then
ActiveWorkbook.SaveCopyAs FileNameXlsm
newzip (FileNameZip)
Set oApp = CreateObject("Shell.Application")
oApp.Namespace(FileNameZip).CopyHere FileNameXlsm
On Error Resume Next
Do Until oApp.Namespace(FileNameZip).items.Count = 1
Application.Wait (Now + TimeValue("0:00:01"))
Loop
On Error GoTo 0
Kill FileNameXlsm
MsgBox "completed zipped : " & vbNewLine & FileNameZip, vbInformation, "zipping"
Else
MsgBox "FileNameZip or/and FileNameXlsm exist", vbInformation, "zipping"
Application.DisplayStatusBar = True
End If
'============================================================================================
End Sub
Private Sub newzip(sPath)
If Len(Dir(sPath)) > 0 Then Kill sPath
Open sPath For Output As #1
Print #1, Chr$(80) & Chr$(75) & Chr$(5) & Chr$(6) & String(18, 0)
Close #1
End Sub