以下是引用zz5151353在2005-6-27 9:05:51的发言:
繁體版都出現亂碼,不知道樓主能否貼出原代碼分享一下,謝謝 !!!
zz5151353朋友,代码分几个部分。
模块部分如下:
Sub 注册系统()
Dim 改, 删
Dim i, j, r, c
On Error Resume Next
ThisWorkbook.Unprotect ("ABCacb333")
Application.ScreenUpdating = False
For i = 1 To Sheets.Count
If Sheets(i).Name <> "注册表" Then Sheets(i).Visible = 2
Next
Static 注册次数 As Long: Dim 用户, 密码: Dim yran2 As Range: Dim yshe1 As Worksheet
用户 = UserForm1.ComboBox1.Text
密码 = UserForm1.TextBox2.Text
If 注册次数 > 3 Then MsgBox "登陆错误次数超过三次,即将退出系统!": ThisWorkbook.Close: Exit Sub
注册次数 = 注册次数 + 1
Set yran2 = 系统表.UsedRange.Find("用户名称")
If 用户 = "" Then MsgBox "无此用户,请通知系统维护员!": Exit Sub
If yran2 Is Nothing Then MsgBox "系统表 错误,请通知系统维护员!": Exit Sub
Set yran2 = yran2.EntireColumn.Find(用户)
If 密码 = "" Or CStr(yran2) = "" Or 密码 <> yran2.Cells(1, 2).Text Then
MsgBox "用户名或密码错误, 请重新登陆!": On Error GoTo 0: Exit Sub
End If
注册次数 = 0
'-----------------------------------------------------------
r = yran2.Row: c = 30
For i = 1 To Sheets.Count
For j = 5 To c
If Sheets(i).Name = 系统表.Cells(r, j).Text Then Sheets(i).Visible = -1
Next
Next
'-----------------------------------------------------------
改 = 系统表.Cells(r, 3)
删 = 系统表.Cells(r, 4)
If 改 = "N" Then SheetP Else unSheetP
If 删 = "N" Then ThisWorkbook.Protect ("ABCacb333")
注册表.Range("E10:F10").ClearContents
Application.ScreenUpdating = True
End Sub
Sub SheetP()
For i = 1 To Sheets.Count
If Sheets(i).Name <> "注册表" Then Sheets(i).Protect ("ABCacb333")
Next
End Sub
Sub unSheetP()
For i = 1 To Sheets.Count
If Sheets(i).Name <> "注册表" Then Sheets(i).Unprotect ("ABCacb333")
Next
End Sub
注册表WorkSheet代码为:
Private Sub Worksheet_Activate()
ThisWorkbook.Unprotect ("ABCacb333")
For i = 1 To Sheets.Count
If Sheets(i).Name <> "注册表" Then Sheets(i).Visible = 2
Next
ThisWorkbook.Protect ("ABCacb333")
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
UserForm1.Show 0
End Sub
ThisWorkbook代码为:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Unprotect ("ABCacb333")
For i = 1 To Sheets.Count
If Sheets(i).Name <> "注册表" Then Sheets(i).Visible = xlSheetVeryHidden
Next
ThisWorkbook.Protect ("ABCacb333")
End Sub
另外,窗体里还有部分代码就不贴了。
[此贴子已经被作者于2005-7-25 21:14:59编辑过] |