0o -.......Forum 361dodesign.com.......- o0
Hãy tham gia diễn đàn 361dodesign ngay hôm nay và hãy đăng ký thành viên để có thể xem hiển thị hết diễn đàn + links download + và chia sẻ kinh nghiệm..v..v..!!!!!!!!!!!!!!!!!!!!!!
Chúc các bạn một ngày vui vẻ..
0o -.......Forum 361dodesign.com.......- o0
Hãy tham gia diễn đàn 361dodesign ngay hôm nay và hãy đăng ký thành viên để có thể xem hiển thị hết diễn đàn + links download + và chia sẻ kinh nghiệm..v..v..!!!!!!!!!!!!!!!!!!!!!!
Chúc các bạn một ngày vui vẻ..
0o -.......Forum 361dodesign.com.......- o0
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

0o -.......Forum 361dodesign.com.......- o0

Dịch vụ Thiết kế - In ấn - In Offset - Thế giới Thiết kế - Download phần mềm - Download Vector Free - Hỗ trợ Forum
 
Trang ChínhGalleryLatest imagesTìm kiếmĐăng kýĐăng Nhập

 

 Ngăn chận người sử dụng thực hiện một số hành động nào đó nhất định

Go down 
Tác giảThông điệp
thaptuvobien2004

thaptuvobien2004


Tổng số bài gửi : 380
Điểm tích lũy : 5764
Thích : 4
Tham gia : 17/09/2011

Ngăn chận người sử dụng thực hiện một số hành động nào đó nhất định Empty
Bài gửiTiêu đề: Ngăn chận người sử dụng thực hiện một số hành động nào đó nhất định   Ngăn chận người sử dụng thực hiện một số hành động nào đó nhất định EmptyMon Feb 27, 2012 11:33 am


Mặc dù Excel có hỗ trợ việc bảo vệ cho bảng tính (Protect Sheet, Protect Workbook),
nhưng công cụ thô sơ này không bao gồm việc chỉ cho phép người sử dụng
một số đặc quyền hạn chế - trừ khi bạn làm theo những chiêu sau đây.

Bạn có thể quản lý việc tương tác với các bảng tính của bạn bằng cách
giám sát và đáp ứng các sự kiện. Các sự kiện (event), là những hành động
xảy ra khi bạn làm việc với các bảng tính hoặc các Sheet. Những sự kiện
này thường bao gồm việc mở (open) một bảng tính, lưu (save) nó, và đóng
(close) nó. Bạn có thể bảo Excel chạy những mã Visual Basic (macro) một
cách tự động khi xảy ra bất kỳ một trong những sự kiện như thế.

Tuy nhiên, bạn nên biết rằng, người sử dụng có thể vượt qua tất cả những
mã bảo vệ bởi Visual Basic bẳng cách vô hiệu hóa việc thực thi các
macro: Nhấn nút OfficeExcel OpionsTrust CenterTrust Center SettingMacro Settings [E2003: Tools | Macro | Security]. Nếu đặt mức độ an toàn là Disable all macros with notification [E2003: mức Medium],
mỗi khi mở một bảng tính có chứa macro, Excel sẽ xuất hiện một hộp
thông báo và cho phép người sử dụng có cơ hội để tắt các macro. Nếu đặt
mức độ an toàn là Disable all macros without notification [E2003: mức High],
Excel sẽ ngăn không cho chạy tất cả các macro có trong bảng tính. Nói
cách khác, khi cần phải dùng các macro có trong bảng tính, người sử dụng
sẽ chọn một mức an toàn thích hợp để cho phép sử dụng các macro.
Ngăn chận việc lưu lại bảng tính với một tên khác


Bạn có thể thiết lập thuộc tính "Read only" cho bất kỳ một bảng tính nào, bằng cách nhấn OfficeSave, nhấn nút Tools, chọn General Options [E2003: File | Save As | Tools | General Options] và kích hoạt hộp kiểm Read only recommended.
Việc này ngăn chận người sử dụng lưu lại những thay đổi trên bảng tính,
trừ phi họ lưu lại bảng tính với một tên khác hoặc lưu vào một nơi
khác.

Tuy nhiên, có thể điều bạn muốn là không cho lưu lại bảng tính của bạn với tên khác, cũng không cho lưu vào một nơi khác.
Nói cách khác, bạn muốn người khác chỉ có thể lưu lại bảng tính này với
chính tên gốc của nó, chứ không được sao chép nó. Điều này đặc biệt hữu
dụng khi có nhiều người cùng sử dụng chung một bảng tính, và bạn không
muốn trong ổ cứng của mình đầy dẫy những bản sao của bảng tính này, cho
dù là với một tên khác, hay ở một thư mục khác.

Sự kiện Before Save mà tôi sắp nói đến
đã có từ thời Excel 97. Đúng như tên gọi của nó, sự kiện này chỉ xuất
hiện ngay trước khi bảng tính được lưu, cho phép bạn can thiệp kịp thời
việc lưu lại bảng tính, đưa ra một cảnh báo, và không cho Excel lưu bảng
tính.

Trước khi tự thực hiện điều này vào bảng tính, hãy chắn chắn rằng bạn đã
lưu lại bảng tính của bạn. Bởi vì việc đưa đoạn code sau đây vào môt
bảng tính chưa được lưu, có thể sẽ gây cho bạn nhiều rắc rối.

Để đưa đoạn code sau vào bảng tính, bạn hãy chọn DevelopeVisual Basic (hoặc nhấn Alt+F11), và nhấp đúp chuột vào mục ThisWorkbook trong khung
Project Explorer. Nếu trên Ribbon của bạn không có mục Develope, bạn hãy vào trong Excel OptionsPopular, đánh dấu vào tùy chọn Show Develope tab in the Ribbon, rồi nhấn OK. [E2003,
nhấn phải chuột vào biểu tượng Excel ở ngay bên trái menu File trên
thanh menu, và chọn mục View Code, như minh họa ở hình bên dưới]:

Ngăn chận người sử dụng thực hiện một số hành động nào đó nhất định 31
Sử dụng Quick access menu (trong Excel 2003) để nhập code áp dụng cho workbook
Bạn hãy nhập đoạn code sau đây vào cửa sổ VBE. Sau khi nhập xong, nhấn Alt+Q để trở về Excel, rồi lưu lại bảng tính:



PHP Code:


Private Sub workbook_BeforeSave(ByVal SaveAsUI As Boolean, _

Cancel
As Boolean)

Dim lReply As Long

If SaveAsUI = True Then

lReply
= MsgBox("Sorry, you are not allowed to save this workbook as another name." _

& "Do you wish to save this workbook?", vbQuestion + vbOKCancel)

Cancel = (lReply = vbCancel)

If
Cancel = False Then Me.Save

Cancel
= True

End
If

End Sub





Ngăn chận người sử dụng thực hiện một số hành động nào đó nhất định 32
Thử một tí. Bạn nhấn Ctrl+S (hoặc gọi lệnh Save) xem. Bảng tính của bạn lưu bình thường. Bây giờ bạn nhấn F12 (hoặc gọi lệnh Save as),
bạn sẽ gặp một cảnh báo, nói rằng bạn không thể lưu lại bảng tính này
dưới bất kỳ một tên nào khác, trừ phi bạn vô hiệu hóa các macro.

Nói thêm, khi bạn lưu một bảng tính có chứa macro hoặc code trong Excel
2007, bạn sẽ được nhắc nhở rằng bạn phải lưu file ở dạng cho phép macro
hoạt động (macro-enable workbook), có phần mở rộng là *.xlsm, chứ không
thể lưu ở dạng bình thường (*.xlsx).
Ngăn chận việc in một bảng tính


Đôi khi bạn phải rời bàn làm việc đi đâu
đó mà quên tắt máy (chuyện này là chuyện thường), cho dù bạn đã làm công
việc ngăn chận việc có ai đó chép bảng tính của bạn ra ngoài, như đã
nói ở trên, có thể bạn còn lo xa hơn, muốn rằng bảng tính này cũng sẽ
không bị in ra khi bạn vắng mặt. Nếu thật sự bạn muốn như vậy, bạn hãy
dùng sự kiện Before Print. Hãy nhập đoạn code sau trong cửa sổ VBE:



PHP Code:


Private Sub workbook_BeforePrint(Cancel As Boolean)

Cancel = True

MsgBox
"Sorry, you cannot Print from this workbook", vbInformation

End Sub





Nhấn Ctrl+Q để quay về Excel và lưu lại. Từ bây giờ, nếu có ai có muốn ra lệnh in bảng tính này, sẽ không có gì xảy ra. Dòng lệnh MsgBox ở
đoạn code trên chỉ là một tùy chọn, nhưng bạn nên sử dụng nó, vì ít
nhất thì nó cũng để lại một thông tin gì đó, để người khác sẽ không
tưởng lầm rằng máy in của họ bị hư, hoặc là chương trình Excel có lỗi!

Nếu bạn chỉ muốn ngăn chận in một phần nào đó trong bảng tính, ví dụ không cho in Sheet1 và Sheet2, bạn sử dụng đoạn code sau:



PHP Code:


Private Sub workbook_BeforePrint(Cancel As Boolean)

Select Case ActiveSheet.Name

Case "Sheet1", "Sheet2"

Cancel = True

MsgBox
"Sorry, you cannot print this sheet from this workbook", _

vbInformation

End Select

End Sub





Dĩ nhiên bạn có thể thêm vào bất kỳ Sheet nào có trong bảng tính của bạn. Chỉ việc nhập tên của nó vào trong hàng có lệnh Case,
và tách biệt Sheet này với Sheet khác bằng dấu phẩy, và nhớ nhập tên
Sheet trong một cặp dấu nháy kép. Trong trường hợp bạn chỉ muốn ngăn
chận không cho in một Sheet mà thôi, bạn chỉ cần nhập tên của Sheet đó
(trong cặp nháy kép) sau chữ Case, và không cần gõ dấu phẩy.
Ngăn chận việc chèn thêm Sheet vào một bảng tính


Excel có chức năng Protect Workbook,
không cho phép thay đổi cấu trúc của bảng tính như thêm, xóa, di
chuyển, hay đổi tên các Sheet. Tuy nhiên, có thể bạn chỉ muốn ngăn chận
việc thêm Sheet thôi, còn những việc khác thì vẫn cho phép. Đoạn code
sau đây giúp bạn làm việc đó:



PHP Code:


Private Sub Workbook_NewSheet(ByVal Sh As Object)

Application.DisplayAlerts = False

MsgBox
"Sorry, you cannot add any more sheets to this workbook", _

vbInformation

Sh
.Delete

Application
.DisplayAlerts = True

End Sub





Khi có ai đó chèn thêm một Sheet mới vào trong bảng tính, trước tiên
Excel sẽ xuất hiện hộp cảnh cáo: "Xin lỗi, bạn không thể thêm bất kỳ
Sheet nào vào trong bảng tính này", rồi ngay lập tức, Excel sẽ xóa cái
Sheet mới thêm vào khi nút OK trong hộp cảnh báo được nhấn. Công dụng
của dòng lệnh Application.DisplayAlerts = False là không hiển thị hộp cảnh báo xác nhận việc xóa một Sheet nào đó trong Excel.

Một cách khác để ngăn chận việc chèn thêm Sheet vào bảng tính là bạn chọn Review trên thanh Ribbon, chọn lệnh Protect Workbook trong nhóm Changes, rồi chọn lệnh Protect Structure and Windows [E2003:
Tools | Protection | Protect Workbook... đánh dấu kiểm vào tùy chọn
Structure] và nhấn OK (có thể đặt password nếu thích). Tuy nhiên, như đã nói ở đầu bài, việc này sẽ ngăn chận hết mọi thao tác với các Sheet trong bảng tính.
Về Đầu Trang Go down
 
Ngăn chận người sử dụng thực hiện một số hành động nào đó nhất định
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» Ẩn sheet sao cho người dùng không thể dùng lệnh unhide để hiện ra
» {100%}Loại bỏ trang web tự động bật ra sau khi thực hiện bật trình duyệt rất đơn giản
» Thiết Kế Chân Dung Siêu Thực trong Photoshop
» Thiết Kế Chân Dung Siêu Thực trong Photoshop
» Modeling cái đầu, tay và chân - hướng dẫn dựng hình mặt người

Permissions in this forum:Bạn không có quyền trả lời bài viết
0o -.......Forum 361dodesign.com.......- o0  :: Phần mềm ứng Văn Phòng :: Tin học văn phòng - Microsoft Office :: Microsoft Office Excel-
Chuyển đến