ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
9 visibility
موضوع: آفیس توسط:

پاتریک به این فکر می کند که چگونه اکسل را از باز کردن کتاب های کاری در نمای محافظت شده باز دارد. او می خواهد فایل در نمای عادی باز شود تا هر کسی بتواند آن را باز کند، بخواند و ویرایش کند.

پاسخ کاملاً به معنای «نمای محافظت شده» بستگی دارد. اگر منظورتان این است که می خواهید کاربرگ ها بدون محافظت باشند، انجام این کار از طریق ماکرو نسبتاً آسان است. اگر واقعاً در مورد آنچه اکسل «نمای محافظت شده» می گوید صحبت می کنید، وضعیت کاملاً متفاوت است.

اگر می خواهید مطمئن شوید که ورک بوک محافظت نشده است و پس از باز شدن می توان آن را ویرایش کرد، یک ماکرو به همین سادگی ممکن است این کار را انجام دهد:

Private Sub Workbook_Open()
    ThisWorkbook.Unprotect
End Sub

البته، این کار برگه های فردی را لغو نمی کند. این شامل چند مرحله دیگر است زیرا شما باید در هر یک از کاربرگ های ورک بوک بچرخید. ماکروهای زیر باید در ماژول ThisWorkbook برای ورک بوکی که برگه های آن محافظت نشده قرار داده شود:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
 Reprotect sheets that were protected on open workbook
    Call ReprotectSheets
 Save changes in ThisWorkbook
    ThisWorkbook.Save
End Sub
Private Sub Workbook_Open()
 Unprotect all sheets in this workbook
    Call UnprotectAllSheets
End Sub

توجه داشته باشید که ماکروها کمی بیشتر از فراخوانی ماکروهای دیگری که کار واقعی را انجام می دهند انجام می دهند. این ماکروهای دیگر را می توان در یک ماژول استاندارد در ورک بوک قرار داد:

Public arrProtectedSheets()

Sub ReprotectSheets()
 Reprotect worksheets that were protected on WorkbookOpen
    Dim i As Integer

    For i = LBound(arrProtectedSheets) To UBound(arrProtectedSheets)
        ThisWorkbook.Worksheets(arrProtectedSheets(i)).Protect
    Next i
End Sub
Sub UnprotectAllSheets()
 Unprotect all worksheets in this workbook
    Dim wks As Object
    Dim i As Integer

    i = 0
    For Each wks In ThisWorkbook.Sheets
        If IsSheetProtected(wks) Then
             Remember names of protected sheets in order
             to reprotect them on WorkbookClose
            ReDim Preserve arrProtectedSheets(i)
            arrProtectedSheets(i) = wks.Name
            i = i + 1
             Unprotect sheet
            wks.Unprotect
        End If
    Next wks
End Sub
Private Function IsSheetProtected(ByRef wks As Excel.Worksheet) As Boolean
 Function returns TRUE If Worksheetsheet Is Protected
    With wks
        IsSheetProtected = (.ProtectContents Or _
          .ProtectScenarios Or .ProtectDrawingObjects)
    End With
End Function

ایده پشت ماکرو UnprotectAllSheets این است که از طریق هر یک از کاربرگ های ورک بوک عبور می کند و اگر محافظت شود (در ماکرو IsSheetProtected مشخص شده است)، نام کاربرگ در یک آرایه ذخیره می شود. سپس محتویات آرایه در ماکرو ReprotectSheets برای محافظت مجدد از آن کاربرگ ها استفاده می شود. البته این رویکرد فرض می کند که هیچ رمز عبوری با هیچ یک از کاربرگ های محافظت شده وجود ندارد.

اگر واقعاً می خواهید مطمئن شوید که "نمای محافظت شده" واقعی خاموش است، داستان متفاوت است. تنظیمات نمایش محافظت شده بر اساس سیستم به سیستم در مرکز اعتماد کنترل می شود. با انجام این مراحل می توانید تنظیمات را مشاهده کنید:

image

شکل 1. کادر محاوره ای Trust Center.

  1. تب Developer روبان را نمایش دهید.
  2. در گروه Code روی Macro Security کلیک کنید. اکسل کادر محاوره ای Trust Center را نمایش می دهد.
  3. در سمت چپ کادر محاوره ای روی Protected View کلیک کنید. (شکل 1 را ببینید.)

تنظیمات واقعی Protection View در دسترس به نسخه اکسل مورد استفاده شما بستگی دارد. همانطور که گفته شد، این تنظیمات در سطح سیستم کنترل می شوند. آنها بر اساس ورک بوک به ورک بوک نمی شوند. نتیجه این است که نمی توان آنها را با کد ماکرو دور زد. اگر آنها می توانستند، سیستم را به طور کامل در برابر هر کدی که در یک ورک بوک باز می شد آسیب پذیر می کرد - ما به روزهای ماکرو ویروس هایی که در برخی از نسخه های قبلی محصولات آفیس رایج بود باز می گشتیم.

اطلاعات بیشتر در مورد نحوه عملکرد تنظیمات نمایش محافظت شده را می توانید در این وب سایت مایکروسافت پیدا کنید:

https://support.office.com/en-us/article/what-is-protected-view-d6f09ac7-e6b9-4495-8e43-2bbcdbcb6653?ocmsassetID=HA010355931&CorrelationId=fce5243e-6c41-4865-89e9-530f125ea252&ui=en-US&rs=en-US&ad=US

اینکه یک ورک بوک در نمای محافظت شده باز شود یا نه به تنظیمات سیستم کاربر بستگی دارد. این بدان معنی است که کنترل آنچه باز می شود کاملاً به کاربر اختصاص دارد و نمی تواند توسط نویسنده ورک بوک "اجبار" شود. با این حال، راه هایی وجود دارد که می توان تاثیر آن را کاهش داد، و آنها به اعتماد مربوط می شوند. توجه داشته باشید که در سمت چپ کادر محاوره ای Trust Center سه تنظیمات وجود دارد که این تنظیمات را نسبت به کتاب های کاری کنترل می کنند:

  • ناشران مورد اعتماد کتاب های کاری از هر ناشری که در این قسمت فهرست شده اند مورد اعتماد هستند و مستقیماً با عبور از نمای محافظت شده باز می شوند.
  • مکان های مورد اعتماد کتاب های کاری ذخیره شده در مکان های فهرست شده در این ناحیه مورد اعتماد هستند و مستقیماً با دور زدن نمای محافظت شده باز می شوند.
  • اسناد مورد اعتماد کتاب های کاری فردی که در این قسمت ذکر شده است مورد اعتماد هستند و مستقیماً با دور زدن نمای محافظت شده باز می شوند.

بنابراین، برای دور زدن Protected View برای ورک بوک شما، باید یک ناشر مورد اعتماد باشید، ورک بوک باید در یک مکان مطمئن ذخیره شود، یا باید در سیستم به عنوان یک سند قابل اعتماد یادداشت شود. همه این تنظیمات مجدداً تحت کنترل کاربر هستند و از طریق کد ماکرو قابل تغییر نیستند.

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوال مشابهی یافت نشد

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

81 نفر آنلاین
0 عضو و 81 مهمان در سایت حاضرند
بازدید امروز: 14498
بازدید دیروز: 23384
بازدید کل: 15265396
...