آندره یک کتاب کار دارد که شامل 52 کاربرگ است. او دوست دارد از برگه ها محافظت کند، اما نه از خود کتاب کار. در حال حاضر او به صورت جداگانه از تمام 52 برگه محافظت می کند. او در تعجب است که آیا راهی برای محافظت از همه آنها در یک حرکت وجود دارد؟
تنها راه برای انجام این کار استفاده از ماکرو است. خوشبختانه، ماکرو بسیار کوتاه است:
Sub ProtectAllSheets()
Dim ws As Worksheet
For Each ws In Worksheets
ws.Protect
Next
End Sub
وقتی این ماکرو را اجرا میکنید، همه کاربرگهای کتاب کار بدون تعیین رمز عبور محافظت میشوند. (این بدان معنی است که هر کسی می تواند به راحتی از آنها محافظت کند.) اگر می خواهید رمز عبور مشخص کنید، می توانید این کار را با یک تغییر آسان انجام دهید:
Sub ProtectAllSheets()
Dim ws As Worksheet
For Each ws In Worksheets
ws.Protect Password:="MyPassword"
Next
End Sub
رمز عبوری که مشخص می کنید برای هر یک از کاربرگ ها استفاده می شود، به این معنی که همه آنها از یک رمز عبور استفاده می کنند.
شما به راحتی می توانید با تغییر روش .Protect به .Unprotect، این ماکروها را تغییر دهید تا از همه کاربرگ های خود محافظت کنید.
همچنین باید توجه داشته باشید که اگر کتاب کار یا کاربرگهای شما از برخی گزینههایی استفاده میکنند که مانع از محافظت از کاربرگ میشوند (مانند اشتراکگذاری)، ماکروها خطا ایجاد میکنند.
یک رویکرد کاملاً متفاوت استفاده از ابزار شخص ثالث برای انجام حفاظت است. شما می توانید چنین ابزارهایی را با یک جستجوی سریع در اینترنت پیدا کنید. یک مثال می تواند Asap Utilities (https://www.asap-utilities.com) باشد.