Mở file excel đã chia sẻ trên mạng nội bộ tùy ý

Liên hệ QC

nam2806

Thành viên hoạt động
Tham gia
4/12/07
Bài viết
187
Được thích
183
Tôi có một file excel chia sẻ trên mạng nội bộ, tôi muốn: nếu người khác mở thì sau 5 phút phải tự thoát, còn tôi thì mở mà không giới hạn thời gian. Nhờ các ACE giúp đỡ.
 
Tôi có một file excel chia sẻ trên mạng nội bộ, tôi muốn: nếu người khác mở thì sau 5 phút phải tự thoát, còn tôi thì mở mà không giới hạn thời gian. Nhờ các ACE giúp đỡ.

Bạn chép code này vào module rồi lưu file, sau đó nó chỉ cho phép mở "thỏa mái" ở máy nào nó được mở lại đầu tiên, các máy khác bị khống chế thời gian, bạn có thể tùy chỉnh thời gian này tại câu lệnh: Application.OnTime Now() + TimeValue("00:00:15"), "Close_file"

Sub Auto_open()
Dim ss, ktra As String
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor")
For Each objItem In colItems
ss = objItem.ProcessorId
Next
If ActiveWorkbook.Comments = "" Then
ActiveWorkbook.Comments = ss
ActiveWorkbook.Save
End If
ktra = ActiveWorkbook.Comments
If ktra = ss Then
Exit Sub
Else
Application.OnTime Now() + TimeValue("00:00:15"), "Close_file"
End If
End Sub
Sub Close_file()
Application.DisplayAlerts = False
ThisWorkbook.Close False
End Sub
 
Cám ơn bạn thanhlanh, giúp tôi luôn tí nữa nhé: tôi muốn file ex của tôi có một cái nút, khi tôi nhấn vào nút đó thì chạy thoải mái, nếu không nhấn vào nút đó thì sau 5 phút file tự thoát (nút đó tôi để ở nơi tôi mình biết thôi).
 
yêu cầu càng ngày càng khó đây, nam2806 tham quá đi thôi.
 
Cám ơn bạn thanhlanh, giúp tôi luôn tí nữa nhé: tôi muốn file ex của tôi có một cái nút, khi tôi nhấn vào nút đó thì chạy thoải mái, nếu không nhấn vào nút đó thì sau 5 phút file tự thoát (nút đó tôi để ở nơi tôi mình biết thôi).

Cũng cái file cũ (có chứa code trên) hay file khác?
 
Cũng vẫn file như trên bạn à.
 
Cũng vẫn file như trên bạn à.

Bạn muốn mở file đó trên máy khác mà không bị thoát?
Nếu vậy không cần dùng nút chi cho lằng nhằng.
Trước khi mở File Bạn phải chuột --> properties --> summari -->xóa hết thứ gì có trong comments, xong
Tất nhiên sau đó chỉ mở được trên máy này, muốn mở qua máy khác thì lại xóa comments trước khi mở!
 
Tình hình là thế này: tôi có 1 file thường xuyên làm việc trên đó, và tất cả mọi người trong cơ quan được phép xem, nhưng mình mà mở sau họ thì mình không ghi được, vậy nên mới có cái nhu cầu như đã trình bày với bạn. Mình vẫn thích cái nút để chủ động trong mọi tình huống. Cám ơn bạn đã quan tâm, và nếu có thể cho mình cái nút.
 
Lần chỉnh sửa cuối:
Tình hình là thế này: tôi có 1 file thường xuyên làm việc trên đó, và tất cả mọi người trong cơ quan được phép xem, nhưng mình mà mở sau họ thì mình không ghi được, vậy nên mới có cái nhu cầu như đã trình bày với bạn. Mình vẫn thích cái nút để chủ động trong mọi tình huống. Cám ơn bạn đã quan tâm, và nếu có thể cho mình cái nút.

Mình mở lúc nào mà chẳng được Bạn, thôi để giải thích code trên cho Bạn hình dung, file của Bạn đầu tiên chưa có comments gì cả, tôi lợi dụng nó để ghi số seri của CPU máy tính (thực ra có thể ghi ở đâu cũng được, không nhất thiết phải ghi vào comments). Mỗi khi Bạn mở file nó sẽ kiểm tra số seri CPU và comments, nếu giống thì OK còn không sẽ tự động thoát sau 1 thời gian. Bạn có thể dùng số seri ổ cứng hoặc IP address hoặc tên bạn (tên máy tính) hoặc một cái gì có thể phân biệt máy mình và máy họ chớ không nhất thiết phải seri của CPU.
Nếu Bạn vẫn thích nút thì tôi cho Bạn "kiểu nút":
Chép cái này vào trang code của ThisWorkbook
Private Sub Workbook_Open()
Application.OnTime Now() + TimeValue("00:00:05"), "Close_file"
End Sub
Và chép cái này vào module
Public hoi
Sub Close_file()
If hoi = 1 Then
Exit Sub
Else
Application.DisplayAlerts = False
ThisWorkbook.Close False
End If
End Sub
Sub nut()
hoi = MsgBox("Yen tam di, file se khong tu thoat nua!", 64, "Thong bao")
End Sub
Vào menu forms vẽ một cái Button tùy ý, dùng để gọi Sub nut ở trên
 

File đính kèm

  • thu1.xls
    24.5 KB · Đọc: 85
Lần chỉnh sửa cuối:
Trên cả tuyệt vời! Cảm ơn thanhlanh nhiều, chúc bạn luôn gặp may mắn.
 
Tôi có một file excel chia sẻ trên mạng nội bộ, tôi muốn: nếu người khác mở thì sau 5 phút phải tự thoát, còn tôi thì mở mà không giới hạn thời gian. Nhờ các ACE giúp đỡ.
Mình cũng có nhu cầu như bạn và đã dùng phần mền Add-In A-Tool rất tốt.
Phần mềm Add-In A-Tools là một công cụ chạy trong Excel, chia sẻ file Excel qua mạng cho nhiều người dùng chung, giúp người dùng có thê soạn thảo và quản trị tập tin Excel qua mạng một cách mạnh mẽ.
Add-In A-Tools có thể cho phép nhiều người dùng cùng truy cập cùng soạn thảo, chỉnh sửa xóa hay định dạng,....cùng một thời điểm.Bạn có thể phân quyền cho từng người truy cập. VD như người A vào sheet1 người người B vào sheet2.
bạn có thế dowload free tại đây
http://bluesofts.net/giai-phap-phan...-thao-va-quan-tri-du-lieu-excel-qua-mang.html
 
Có cách nào không cho phép mở file trực tiếp trên ổ mạng hay không, ai muốn mở thì phải copy về máy rồi mới mở được.
 
Mình mở lúc nào mà chẳng được Bạn, thôi để giải thích code trên cho Bạn hình dung, file của Bạn đầu tiên chưa có comments gì cả, tôi lợi dụng nó để ghi số seri của CPU máy tính (thực ra có thể ghi ở đâu cũng được, không nhất thiết phải ghi vào comments). Mỗi khi Bạn mở file nó sẽ kiểm tra số seri CPU và comments, nếu giống thì OK còn không sẽ tự động thoát sau 1 thời gian. Bạn có thể dùng số seri ổ cứng hoặc IP address hoặc tên bạn (tên máy tính) hoặc một cái gì có thể phân biệt máy mình và máy họ chớ không nhất thiết phải seri của CPU.
Nếu Bạn vẫn thích nút thì tôi cho Bạn "kiểu nút":
Chép cái này vào trang code của ThisWorkbook

Và chép cái này vào module

Vào menu forms vẽ một cái Button tùy ý, dùng để gọi Sub nut ở trên
Chào bác @thanhlanh
Em có 1 tình huống sau: Em cũng có 1 file dùng chung chia sẻ trên ổ mạng, Bây giờ muốn nếu ai đó mở mà không sử dụng sau 5 phút file sẽ được tự đóng có Save. (5 phút tính từ hoạt động cuối cùng của người dùng lên file đó - giống kiểu Screen Saver)
Mong bác giúp cho. Xin cảm ơn
 
Web KT
Back
Top Bottom