用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧计算机应用

VBA在限定Excel工作表用户按钮中的应用

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 11:55:10
Microsoft Visual Basic for Application Extensibility 5.3”的引用。
此外,软件运行不应该影响其本来面目,所以在其被打开时需要将其本身提供的界面恢复初态,在工程保存时将已经变为注释行的代码恢复原状,下面通过编写当前工程的自动宏AUTO_OPEN和“ThisWorkbook”模块的Workbook_BeforeSave事件过程去分别实现这两个软件恢复功能:
Public Sub AUTO_OPEN()
'查找辅助工作表
 SheetsCount = Application.ActiveWorkbook.Worksheets.Count
 For i = 1 To SheetsCount
   If ActiveWorkbook.Sheets(i).Name = "按钮运行次数记录表" Then
      FoundSheet = True
   End If
 Next i
 '添加或清除辅助工作表内容
 If Not FoundSheet Then
   ActiveWorkbook.Unprotect
   Worksheets.add.Move After:=Worksheets(SheetsCount)
   ActiveSheet.Name = "按钮运行次数记录表"
   ActiveSheet.Visible = False
 Else
   Sheets("按钮运行次数记录表").Cells.Clear
   Sheets("按钮运行次数记录表").Visible = False
 End If
 '将工作表中按钮恢复为显示状态
 SheetsCount = ActiveWorkbook.Worksheets.Count
 For i = 1 To SheetsCount
   Set MySheet = Worksheets(i)
   For Each sh In MySheet.Shapes
    If sh.Visible = False Then sh.Visible = True
   Next
 Next i
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'恢复注释行为原来的正式代码行
 Set MyCoponent = Application.VBE.ActiveVBProject.VBComponents
  For Each ch In MyCoponent
    StartLine = 1
    StartCol = 1
    LinesCount = ch.CodeModule.CountOfLines
    Endline = LinesCount
    Do While ch.CodeModule.Find("'隐藏行", StartLine, StartCol, Endline, 1, False, False)
      If StartCol <> 1 Then GoTo Label7
      Str1 = ch.CodeModule.Lines(StartLine, 1)
      Str1 = Mid(Str1, InStr(Str1, ":") + 1)
      ch.CodeModule.ReplaceLine StartLine, Str1
Label7:
      StartLine = StartLine + 1
      StartCol = 1
      Endline = LinesCount
    Loop
  Next
End Sub

4  结束语
综上所述,针对基于Excel VBA测试软件的使用权限设定,本文提出的通过执行过程代码的控制方法实现工作表用户按钮的限定技术,操作起来尽管存在一定的麻烦,但仍然具有相当的实用性。

参考文献
[1] 云舟工作室著,中文版Excel 2000 VBA一册通,人民邮电出版社,2000.1
[2] 
Microsoft Visual Basic for Application帮助

上一页  [1] [2] [3] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:9,140.62500 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号