昨天出差,用户有个需求:需要他人录入数据,为了防止已经录入的数据被修改(录入数据由多方完成),必须限定只能输入,不能修改(修改时需要密码),最开始的方案是各设置一个密码,但如果他们相互之间联合起来,密码也就无效了。现在有个解决方案:即通过VBA代码来完成限定。

  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2. On Error Resume Next
  3. With Target
  4.     If .Value <> "" Then
  5.         PW = InputBox("请输入修改密码:")
  6.         If PW <> "" Then
  7.             Cells(1, 1).Select
  8.         Else
  9.             Exit Sub
  10.         End If
  11.     End If
  12.     End With
  13. End Sub

    这段代码可以实现对于已录入的数据不能进行修改,如果非要修改,则需要输入管理员密码。

但问题又来了,如果他们也了解Excel,按Alt+F11,这……

于是要对VBA代码加密,其实Word早就想到了这一点,只不过这样的加密不够强,很容易被破解。参见:破解OfficeVBA密码的方法

最新文章

  1. .NET平台开源项目速览(14)最快的对象映射组件Tiny Mapper
  2. 关于#define for if(false);else for
  3. Java数据结构——带权图
  4. oracle 数据库 时间差 年数、月数、天数、小时数、分钟数、秒数
  5. memory corruption
  6. JS入门之ActiveXObject对象(转载)
  7. Object Pascal 控制语句
  8. BeanDefinition的Resource定位——2
  9. HDU-4742 Pinball Game 3D 三维LIS
  10. java实现附件预览(openoffice+swfTools+FlexPaper) (转载)
  11. Spoj 7001 Visible Lattice Points 莫比乌斯,分块
  12. 通过Linux系统Cron执行OwnCloud计划任务
  13. PHP预定义变量$_SERVER
  14. Linux: curl
  15. 调用本地摄像头拍照(H5和画布)
  16. sublime使用攻略
  17. JavaScript的Let用法
  18. 2018.4.27 java容器
  19. 【c#】腾讯人脸识别api签名
  20. 用Java向数据库中插入大量数据时的优化

热门文章

  1. 【BZOJ】2760: [JLOI2011]小A的烦恼【字符串模拟】
  2. Codeforces Round #360 (Div. 1) D. Dividing Kingdom II 暴力并查集
  3. C#高级编程9-第3章 对象与类型
  4. ROS知识(20)----使用Master_API查询Master管理的节点话题服务内容
  5. Install WordPress Plugins without FTP Access
  6. 基础设施即服务 PaaS, 平台即服务 IaaS
  7. Send a WhatsApp Message programatically -- Tasker WhatsTasker
  8. ORA-00918:未明确定义列
  9. INTEL SSD SMART 性能 E8 E9 转
  10. xarmain使用Forms编译android工程出现support_r19.0.1.zip支持包错误