Hẹn giờ thoát cho file excel (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

hung_tbmt

Thành viên mới
Tham gia
23/10/13
Bài viết
9
Được thích
0
Chào các bạn. công ty Mình đang dùng chung một file excel dể in thu chi nội bộ và mình muốn file này chỉ chạy đc chừng 5phút rồi tự động thoát. tránh trường hợp dùng o chế độ readonle và đi tìm ng đang mơ để kêu họ thoát. Bạn nào biết chỉ giúp mình với mình cảm ơn nhiều &&&%$R
 
Chào các bạn. công ty Mình đang dùng chung một file excel dể in thu chi nội bộ và mình muốn file này chỉ chạy đc chừng 5phút rồi tự động thoát. tránh trường hợp dùng o chế độ readonle và đi tìm ng đang mơ để kêu họ thoát. Bạn nào biết chỉ giúp mình với mình cảm ơn nhiều &&&%$R
Ý của bạn là cứ 5 phút là thoát (kể cả dùng hoặc không dùng file) đều tắt ah?
 
Upvote 0
file này lưu o server dùng chung. mình muốn nếu ai đó dùng thì 5 phút file sẻ tự lưu và thoát để ng khác đùng. giống như là mở file lên dùng 5p tự động lưu và tăt file vay ah. mình cảm ơn
 
Upvote 0
file này lưu o server dùng chung. mình muốn nếu ai đó dùng thì 5 phút file sẻ tự lưu và thoát để ng khác đùng. giống như là mở file lên dùng 5p tự động lưu và tăt file vay ah. mình cảm ơn

Lỡ người ta làm sai, chưa kịp Ctrl-z, hoặc sai tùm lum hết chỉ còn có nước "close và not save" thì sao?
 
Upvote 0
máy móc phải thua con người ở điểm này . code có lẽ sẽ có cách đấy . nhưng về tình thì rất khó chấp nhận với bất cứ lý do gì . t mà đang làm việc với ếch mà bị code cưỡng chế tắt thì đừng hỏi về độ ức chế . t nghĩ không nhiều người chấp nhận điều này
 
Upvote 0
Chào các bạn. công ty Mình đang dùng chung một file excel dể in thu chi nội bộ và mình muốn file này chỉ chạy đc chừng 5phút rồi tự động thoát. tránh trường hợp dùng o chế độ readonle và đi tìm ng đang mơ để kêu họ thoát. Bạn nào biết chỉ giúp mình với mình cảm ơn nhiều &&&%$R
Close Excel bằng tay đi cho nó lành ....Hẹn giờ.... viết code thì đơn giản thôi nhưng nó bực mình lắm mà tắt xong người ta lại mở lên thôi.....Cấm làm sao được....--=0
 
Upvote 0
Close Excel bằng tay đi cho nó lành ....Hẹn giờ.... viết code thì đơn giản thôi nhưng nó bực mình lắm mà tắt xong người ta lại mở lên thôi.....Cấm làm sao được....--=0

Close bằng tay được thì người ta đâu có nhờ! Xem bài 1 kỹ một chút nhé
Chào các bạn. công ty Mình đang dùng chung một file excel dể in thu chi nội bộ và mình muốn file này chỉ chạy đc chừng 5phút rồi tự động thoát. tránh trường hợp dùng o chế độ readonle và đi tìm ng đang mơ để kêu họ thoát. Bạn nào biết chỉ giúp mình với mình cảm ơn nhiều
 
Upvote 0
Close bằng tay được thì người ta đâu có nhờ! Xem bài 1 kỹ một chút nhé
Vậy thì Em cho họ chơi code sau xem thế nào
To hung_tbmt Bạn chép 2 code sau vào module nha xong bấm chạy Sub Auto_Open nha

PHP:
Sub Auto_Open()
    Application.OnTime Now + TimeValue("00:04:59"), "Close_Excel"
End Sub

Đóng File Excel
PHP:
Sub Close_Excel()
    ActiveWorkbook.Save
    Application.Quit
End Sub

nếu quên Enable Macros Thì nó cùng Tèo téo teo
 
Lần chỉnh sửa cuối:
Upvote 0
Luanh quanh cũng thấy có nhiều người yêu cầu và đã làm cái này rồi.
Mình thêm cái thông báo trước khi tắt để cho đỡ "khó chịu".
Kịch bản: Mở file lên sau 4 phút 30 giây thì thông báo chuẩn bị tắt file / Thông báo hiện lên 2 giây (người dùng có thể tắt thông báo này ngay đi được) / 30 giây sau khi hiện thông báo thì tắt file.
1/ ThisWorkbook:
PHP:
Public Sub Workbook_Open()
    Run "StartTimer1"
End Sub

Public Sub Workbook_BeforeClose(Cancel As Boolean)
    Run "StopTimer"
End Sub
2/ Module:
PHP:
Public re_time1 As Double
Public re_time2 As Double
Public re_time3 As Double
Public Const Time_Seconds1 = 270 '270 seconds to show msg box
Public Const t_bao = "InfoBox"
Public Const close_file = "SaveClose"
Public book_server As Workbook

Sub StartTimer1() 'msg box
    re_time1 = Now + TimeSerial(0, 0, Time_Seconds1)
    re_time3 = Now + TimeSerial(0, 0, Time_Seconds1 + 32)
    Application.OnTime EarliestTime:=re_time1, Procedure:=t_bao, _
        Schedule:=True
End Sub
Sub StartTimer2() 'close file
    Set book_server = ActiveWorkbook
    re_time2 = Now + TimeSerial(0, 0, 30) 'after 30 seconds
    Application.OnTime EarliestTime:=re_time2, Procedure:=close_file, _
        Schedule:=True
End Sub

Public Sub StopTimer() '
    On Error Resume Next
    Application.OnTime EarliestTime:=re_time3, Procedure:=close_file, _
        Schedule:=False
End Sub

Public Sub SaveClose()
    Dim wb As Workbook
    For Each wb In Workbooks
        If wb.Name = book_server.Name Then
            Set wb = Application.Workbooks(book_server.Name)
            wb.Close SaveChanges:=True
        End If
        Next
End Sub

Public Sub InfoBox()
    Dim t As Integer, InfoBox As Object
    Dim tb As Integer
    Set InfoBox = CreateObject("WScript.Shell")
    'Set the message box to close after 2 seconds
    t = 2
    Select Case InfoBox.popup("This file will close after 30 seconds.", _
    t, "Msg Box", 0)
    Case 1, -1
        Call StartTimer2
    End Select
End Sub
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom