ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] ¤µ¤é ¤é´Á ¥i¥H­×§ï ¥i¥H¿é¤J ¤µ¤é¤§«e Âê©w µLªk­×§ï«á

[µo°Ý] ¤µ¤é ¤é´Á ¥i¥H­×§ï ¥i¥H¿é¤J ¤µ¤é¤§«e Âê©w µLªk­×§ï«á

¥»©«³Ì«á¥Ñ mycmyc ©ó 2011-12-18 01:23 ½s¿è

³o°Ñ¦Ò GBKEE  ¤j¤j µ¹§Úªº«ü¾É  
¦ý  µLªk¹ê²{
¥Øªº  ¥u¦³¤µ¤é ¤é´Á ¥i¥H­×§ï ¥i¥H¿é¤J   ¤µ¤é¤§«e Âê©w µLªk­×§ï«á  
¥Ø«eµLªk§P§O  A:A ¤é´Á   ¥u­n¦³¿é¤J  ´NÂê©w  ¨S¿é¤J´N¥i¥H¿é¤J
½ÐÀ°§Ú­×§ï¤@¤U   ÁÂÁÂ
Book1.rar (17.61 KB)
HI

¦^´_ 7# Hsieh
·PÁ    Hsieh ª©¥D
³o¤è«K ¤S¤£¥Î¶}±Ò ¥¨¶°   ÁÂÁ ²³æ¦n¥Î

¤] ·PÁ GBKEE Åý§Ú»{ÃѤ@¨Ç VBA
¥H¤U ¬O§Ú ¦b ¨ä¥Lºô­¶§ä¨ì  VBA ¦ý¤£¯à¥Î  
§Ú·Q§ä µLªk ²³æ´N¯}¸Ñ       «OÅ@ ¤u§@ªí

µ{¦¡¦p¤U ¥i¥H­×¥¿ ¨Ï¥Î¶Ü

    'excel vba¤uµ{±K?¥[±K©M¯}¸Ñ
'0>ª`·N«O?ª©?¡A?¨Ñ??¨Ï¥Î¡C
  
'1>¤@¬qÌå¦nªºVBA«O?±K?¯}¸Ñµ{§Ç??WIN98+OFFICE97¯}¸Ñ²v100%
  
'2>¥Î¥H¤U¥N??VBA¥[±K«O?¦Z¥Îoffkey 6.5-7.0¤ÎAdvanced VBA pASSWORD Recovery??ª©§¡?ªk¯}¸Ñ¥X«O?µ{¦¡?ªº±K?
  
'²¾°£VBA??«O?
  
Sub MoveProtect()
  
Dim FileName As String
  
FileName = Application.GetOpenFilename("Excel¤å¥ó¡]*.xls & *.xla¡^,*.xls;*.xla", , "VBA¯}¸Ñ")
  
If FileName = CStr(False) Then
  
     Exit Sub
  
Else
  
     VBAPassword FileName, False
  
End If
  
End Sub
  
'?¸mVBA??«O?
  
Sub SetProtect()
  
Dim FileName As String
  
FileName = Application.GetOpenFilename("Excel¤å¥ó¡]*.xls & *.xla¡^,*.xls;*.xla", , "VBA¯}¸Ñ")
  
If FileName = CStr(False) Then
  
     Exit Sub
  
Else
  
     VBAPassword FileName, True
  
End If
  
End Sub
  
Private Function VBAPassword(FileName As String, Optional Protect As Boolean = False)
  
    If Dir(FileName) = "" Then
  
       Exit Function
  
    Else
  
       FileCopy FileName, FileName & ".bak"
  
    End If
  
    Dim GetData As String * 5
  
    Open FileName For Binary As #1
  
    Dim CMGs As Long
  
    Dim DPBo As Long
  
    For i = 1 To LOF(1)
  
        Get #1, i, GetData
  
        If GetData = "CMG=""" Then CMGs = i
  
        If GetData = "[Host" Then DPBo = i - 2: Exit For
  
    Next
  
      
  
    If CMGs = 0 Then
  
       MsgBox "?¥ý?VBA???¸m¤@?«O?±K?...", 32, "´£¥Ü"
  
       Exit Function
  
    End If
  
      
  
    If Protect = False Then
  
       Dim St As String * 2
  
       Dim s20 As String * 1
  
         
  
       '¨ú±o¤@?0D0A¤Q¤»?¨î¦r¦ê
  
       Get #1, CMGs - 2, St
  
      
  
       '¨ú±o¤@?20¤Q¤»¨î¦r¦ê
  
       Get #1, DPBo + 16, s20
  
      
  
       '´À?¥[±K³¡¥÷Éó?
  
       For i = CMGs To DPBo Step 2
  
           Put #1, i, St
  
       Next
  
         
  
       '¥[¤J¤£°t?²Å?
  
       If (DPBo - CMGs) Mod 2 <> 0 Then
  
          Put #1, DPBo + 1, s20
  
       End If
  
       MsgBox "¤å¥ó¸Ñ±K¦¨¥\......", 32, "´£¥Ü"
  
    Else
  
       Dim MMs As String * 5
  
       MMs = "DPB="""
  
       Put #1, CMGs, MMs
  
       MsgBox "?¤å¥ó¯S®í¥[±K¦¨¥\......", 32, "´£¥Ü"
  
    End If
  
    Close #1
  
End Function
HI

TOP

¦^´_ 6# mycmyc

play.gif
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_ 5# GBKEE


GBKEEª©¥D
¤p©ó  ¨t²Î¤é´Á  ´NÂê©w ¾ã¦C »P ªÅ¥Õ ©Îµ¥©ó¨t²Î¤é´Á  ´N¤£Âê©w  ¥i¥H¹F¦¨
OK
¦ý¤j©ó  ¨t²Î¤é´Á µLªk Âê©w
¥i¥H¼W¥[  ¦pªG   ¤j©ó  ¨t²Î¤é´Á   ¥X²{  ¿ù»~ ĵ§i
¤£µ¹¿é¤J  ¦^¨ìªÅ¥Õ­È¶Ü¡H
ÁÂÁ§A  ³Â·Ð§A¤F
HI

TOP

¦^´_ 4# mycmyc
  1. Private Sub Auto_Open()       '¤@¯ë Module¤¤ ¶}±ÒÀɮ׮ɷ|¦Û°Ê°õ¦æªºµ{§Ç
  2.     Dim E As Range, ±K½X As String
  3.     ±K½X = "1234"
  4.     With Sheet1                                 '«ü©wªº¤u§@ªí
  5.         .Unprotect ±K½X                             '¨ú®ø¤u§@ªí«O
  6.         .Cells.Locked = False                        '¨ú®øÀx¦s®æÂê©w
  7.         .Cells.FormulaHidden = False                 '¨ú®øÀx¦s®æÁôÂÃ
  8.         For Each E In .UsedRange.Columns(1).Cells
  9.             If IsDate(E) And E < Date Then E.EntireRow.Locked = True
  10.         Next
  11.         .Protect ±K½X                               '¤u§@ªí³]©w«OÅ@
  12.     End With
  13. End Sub
½Æ»s¥N½X
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     If Not Application.Intersect(Target, UsedRange.Columns(1)) Is Nothing Then Run "Module1.Auto_Open"
  3. End Sub
½Æ»s¥N½X

TOP

GBKEEª©¥D
¦pªG¥ÎIF ¤p©ó  ¨t²Î¤é´Á  ´NÂê©w ¾ã¦C
            IF¡×ªÅ¥Õ ©Îµ¥©ó¨t²Î¤é´Á  ´N¤£Âê©w  ¥i¥H¹F¦¨¶Ü
HI

TOP

¥»©«³Ì«á¥Ñ mycmyc ©ó 2011-12-18 18:33 ½s¿è

¦^´_ 2# GBKEE
ÁÂÁª©¥D¦^µª
¥Ø«e¹J¨ì°ÝÃD¬O
¥Ø«eµLªk§P§O  A:A ¤é´Á   ¤j©ó ¨t²Î¤é´Á ¨ºÄæ¥i¥H­×§ï  ¨ä¥L¦hÂê©w   ½ÐÀ°§Ú­×¥¿

¥Øªº: ¥ÎA¡GA§PÂ_ ¦pªG¬O¤µ¤é ¤é´Á ©Î AÄæ ªÅ¥Õ   ¾ã¦C ¥i¥H­×§ï ¥i¥H¿é¤J  
             AÄæ ¤µ¤é¤§«e Âê©w ¨ºÄæ¾ã¦C   µLªk­×§ï«á  ¡A  A¡GAªÅ¥Õ¥i¥H¿é¤J
     ¨Ò¦p  A8  ­È¤é´Á ¬O¤µ¤é  ¨º A8¾ã¦C¥i¥H­×§ï
                A7  ­È¤é´Á ¬O¤µ¤é¤§«e ¤£¯à­×§ï  ¨º¦CÂê©w
               A15  ­È¬OªÅ¥Õ  ´N¥i¥H­×§ï©Î·s¼W
³Â·Ð§A
  1. Public ±K½X, Rng As Range
  2. 'Public ->ÅܼƤ½¥Î©ó¦¹±M®×
  3. Private Sub Auto_Open()       '¤@¯ë Module¤¤ ¶}±ÒÀɮ׮ɷ|¦Û°Ê°õ¦æªºµ{§Ç
  4.     ±K½X = "1234"
  5.     With Sheet1  [color=Red]¦¹¦æ§Ú­×§ï Sheet1 «D¤j¤j§A  Sheet¡]1¡^[/color]                              '«ü©wªº¤u§@ªí
  6.         .Activate
  7.         .Unprotect ±K½X                             '¨ú®ø¤u§@ªí«O
  8.         .Cells.Locked = True                        'Àx¦s®æÂê©w
  9.         .Cells.FormulaHidden = True                 'Àx¦s®æÁôÂÃ
  10.         Set Rng = .Cells(.UsedRange.Rows.Count + 1, 1)
  11.         'Rng  ³]©w¤w¨Ï¥Î½d³ò²Ä1Äæ³Ì«áªº¤U¤@­ÓªÅ¥ÕÀx¦s®æ
  12.         Rng.Locked = False
  13.         Rng.FormulaHidden = False
  14.         .Protect ±K½X                               '¤u§@ªí³]©w«OÅ@
  15.     End With
  16.     Rng.Select
  17. End Sub
½Æ»s¥N½X
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     If Rng.Value <> Date Then
  3.         Unprotect ±K½X                             '¨ú®ø¤u§@ªí«O
  4.         Cells.Locked = True                        'Àx¦s®æÂê©w
  5.         Cells.FormulaHidden = True                 'Àx¦s®æÁôÂÃ
  6.         Rng.Locked = False
  7.         Rng.FormulaHidden = False
  8.         Protect ±K½X                               '¤u§@ªí³]©w«OÅ@
  9.     ElseIf Rng.Value = Date Then
  10.         Unprotect ±K½X                             '¨ú®ø¤u§@ªí«O
  11.     End If
  12. End Sub
½Æ»s¥N½X
Book1.rar (17.35 KB)
HI

TOP

¦^´_ 1# mycmyc
¦³°ÝÃDªþÀɤW¨Ó·|²M·¡¨Ç!

Module1 ªºµ{¦¡½X
  1. Public ±K½X, Rng As Range
  2. 'Public ->ÅܼƤ½¥Î©ó¦¹±M®×
  3. Private Sub Auto_Open()       '¤@¯ë Module¤¤ ¶}±ÒÀɮ׮ɷ|¦Û°Ê°õ¦æªºµ{§Ç
  4.     ±K½X = "1234"
  5.     With Sheet(1)                                   '«ü©wªº¤u§@ªí
  6.         .Activate
  7.         .Unprotect ±K½X                             '¨ú®ø¤u§@ªí«O
  8.         .Cells.Locked = True                        'Àx¦s®æÂê©w
  9.         .Cells.FormulaHidden = True                 'Àx¦s®æÁôÂÃ
  10.         Set Rng = .Cells(.UsedRange.Rows.Count + 1, 1)
  11.         'Rng  ³]©w¤w¨Ï¥Î½d³ò²Ä1Äæ³Ì«áªº¤U¤@­ÓªÅ¥ÕÀx¦s®æ
  12.         Rng.Locked = False
  13.         Rng.FormulaHidden = False
  14.         .Protect ±K½X                               '¤u§@ªí³]©w«OÅ@
  15.     End With
  16.     Rng.Select
  17. End Sub
½Æ»s¥N½X
Sheet(1)ªºµ{¦¡½X
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     If Rng.Value <> Date Then
  3.         Unprotect ±K½X                             '¨ú®ø¤u§@ªí«O
  4.         Cells.Locked = True                        'Àx¦s®æÂê©w
  5.         Cells.FormulaHidden = True                 'Àx¦s®æÁôÂÃ
  6.         Rng.Locked = False
  7.         Rng.FormulaHidden = False
  8.         Protect ±K½X                               '¤u§@ªí³]©w«OÅ@
  9.     ElseIf Rng.Value = Date Then
  10.         Unprotect ±K½X                             '¨ú®ø¤u§@ªí«O
  11.     End If
  12. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : Ãø¦æ¯à¦æ¡AÃø±Ë¯à±Ë¡AÃø¬°¯à¬°¡A¤~¯àª@µØ¦Û§Úªº¤H®æ¡C
ªð¦^¦Cªí ¤W¤@¥DÃD