غیر فعال کردن محدودیت ها در اکسل

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • ali.b

    • 2014/01/12
    • 798

    غیر فعال کردن محدودیت ها در اکسل

    وارد منوی views --> Macros --> record Macro بشین و record macro رو انتخاب کنید و نامی را به ماکروتون اختصاص بدین و بعد دکمه ok رو فشار بدین . حالا دوباره از منوی view و macros گزینه view macros رو فشار بدین و stop recording رو انتخاب کنید . دوباره ازمسیر قبل view macros رو انتخاب کرده و اسم ماکرویی رو که درست کرده بودین رو پیدا کنید و دکمه edit رو فشار بدین حالا جای متن ماکرو متن زیر رو جایگزین کنید
    کد PHP:
    Sub Macro1()
    '
    Breaks worksheet and workbook structure passwordsJason S

    ' probably originator of base code algorithm modified for coverage

    of workbook structure windows passwords and for multiple passwords

    ' Jason S http://jsbi.blogspot.com

    Reveals hashed passwords NOT original passwords

    Const DBLSPACE As String vbNewLine vbNewLine

    Const AUTHORS As String DBLSPACE vbNewLine "Adapted from Bob McCormick base code by" "Jason S http://jsbi.blogspot.com"

    Const HEADER As String "AllInternalPasswords User Message"

    Const VERSION As String DBLSPACE "Version 1.0 8 Sep 2008"

    Const REPBACK As String DBLSPACE "Please report failure to jasonblr@gmail.com "

    Const ALLCLEAR As String DBLSPACE "The workbook should be cleared"

    Const MSGNOPWORDS1 As String "There were no passwords on " AUTHORS VERSION

    Const MSGNOPWORDS2 As String "There was no protection to " "workbook structure or windows." DBLSPACE


    Const MSGTAKETIME As String "After pressing OK button this " "will take some time." DBLSPACE "Amount of time " "depends on how many different passwords, the "



    Const MSGPWORDFOUND1 As String "You had a Worksheet " "Structure or Windows Password set." DBLSPACE "The password found was: " DBLSPACE "$$" DBLSPACE "Note it down for potential future use in other workbooks by " "the same person who set this password." DBLSPACE "Now to check and clear other passwords." AUTHORS VERSION

    Const MSGPWORDFOUND2 As String "You had a Worksheet " "password set." DBLSPACE "The password found was: " DBLSPACE "$$" DBLSPACE "Note it down for potential " "future use in other workbooks by same person who " "set this password." DBLSPACE "Now to check and clear " "other passwords." AUTHORS VERSION

    Const MSGONLYONE As String "Only structure / windows " "protected with the password that was just found." ALLCLEAR AUTHORS VERSION REPBACK

    Dim w1 
    As Worksheetw2 As Worksheet

    Dim i 
    As IntegerAs IntegerAs IntegerAs Integer

    Dim m 
    As IntegerAs Integeri1 As Integeri2 As Integer

    Dim i3 
    As Integeri4 As Integeri5 As Integeri6 As Integer

    Dim PWord1 
    As String

    Dim ShTag 
    As BooleanWinTag As Boolean

    Application
    .ScreenUpdating False

    With ActiveWorkbook

    WinTag 
    = .ProtectStructure Or .ProtectWindows

    End With

    ShTag 
    False

    For Each w1 In Worksheets

    ShTag 
    ShTag Or w1.ProtectContents

    Next w1

    If Not ShTag And Not WinTag Then

    MsgBox MSGNOPWORDS1
    vbInformationHEADER

    Exit Sub

    End 
    If

    MsgBox MSGTAKETIMEvbInformationHEADER

    If Not WinTag Then

    MsgBox MSGNOPWORDS2
    vbInformationHEADER

    Else

    On Error Resume Next

    Do 'dummy do loop

    For i = 65 To 66: For j = 65 To 66: For k = 65 To 66

    For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66

    For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66

    For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126

    With ActiveWorkbook

    .Unprotect Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

    If .ProtectStructure = False And .ProtectWindows = False Then

    PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

    MsgBox Application.Substitute(MSGPWORDFOUND1, "$$", PWord1), vbInformation, HEADER

    Exit Do '
    Bypass all for...nexts

    End 
    If

    End With

    Next
    NextNextNextNextNext

    Next
    NextNextNextNextNext

    Loop Until True

    On Error 
    GoTo 0

    End 
    If

    If 
    WinTag And Not ShTag Then

    MsgBox MSGONLYONE
    vbInformationHEADER

    Exit Sub

    End 
    If

    On Error Resume Next

    For Each w1 In Worksheets

    'Attempt clearance with PWord1

    w1.Unprotect PWord1

    Next w1

    On Error GoTo 0

    ShTag = False

    For Each w1 In Worksheets

    '
    Checks for all clear ShTag triggered to 1 if not.

    ShTag ShTag Or w1.ProtectContents

    Next w1

    If ShTag Then

    For Each w1 In Worksheets

    With w1

    If .ProtectContents Then

    On Error Resume Next

    Do 'Dummy do loop

    For i = 65 To 66: For j = 65 To 66: For k = 65 To 66

    For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66

    For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66

    For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126

    .Unprotect Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

    If Not .ProtectContents Then

    PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

    MsgBox Application.Substitute(MSGPWORDFOUND2, "$$", PWord1), vbInformation, HEADER

    '
    leverage finding Pword by trying on other sheets

    For Each w2 In Worksheets

    w2
    .Unprotect PWord1

    Next w2

    Exit Do 'Bypass all for...nexts

    End If

    Next: Next: Next: Next: Next: Next

    Next: Next: Next: Next: Next: Next

    Loop Until True

    On Error GoTo 0

    End If

    End With

    Next w1

    End If

    MsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK, vbInformation, HEADER
    '
    End Sub 
    دقت کنید که به هیچ عنوان به کد تغییراتی ندهید
    در انتها هم دکمه run یا F5 رو فشار بدین تا ماکرو اجرا بشه و تمام !
    ممکنه تا جندین دقیقه طول بکشه اما صبر کنید
    بعد از اتمام از فایل
    save asبگیرین تا تغییرات در فایل جدید ثبت بشه
    [CENTER]
    [/CENTER]
  • arsalan135

    • 2013/11/10
    • 61
    • 58.00

    #2
    با سلام
    دوست عزيز ميشه درمورد غيز فعال كردن مخدوديت ها بيشتر توضيح بدهيد و اينكه وقتي اين مكارو اجرا مي شود چه نتيجه اي بدست مي*آيد ؟
    ممنون

    کامنت

    • ali.b

      • 2014/01/12
      • 798

      #3
      از بین بردن محدودیت

      نوشته اصلی توسط arsalan135
      با سلام
      دوست عزيز ميشه درمورد غيز فعال كردن مخدوديت ها بيشتر توضيح بدهيد و اينكه وقتي اين مكارو اجرا مي شود چه نتيجه اي بدست مي*آيد ؟
      ممنون
      گاهی پیش میاد که وقتی یک فایل اکسل رو اجرا میکنی شیت های اون protect شده هست و برای فعال سازی یا ایجاد تغییرات باید پسورد اون رو وارد کنی
      در صورت نداشتن پسورد می تونین با اجرای این فرمول پس ورد رو بردارین و به راحتی تغییر بدین
      در بعضی از سیستم ها ممکنه کمی ططول بکشه که بستگی به قدرت کامپیوتر داره اما حداکثر حدود 5 دقیقه طول میکشه
      بعدش یک پیغام میده شما ماکرو رو میبنی و از فایل یک save as بگیر بعدش از فایل استفاده کن
      [CENTER]
      [/CENTER]

      کامنت

      چند لحظه..