大家好,我们今日继续讲解VBA代码解决方案的第73讲内容:为某台电脑量身定做VBA程序。在写程序的时候,我们有时候需要为某台电脑来编写专门的程序,让程序只在这台电脑上运行这个问题该如何解决呢?这就要在程序启动前先检查一下电脑的名称,是不是我们事先告诉给程序的名称。这时会用到一个Environ函数,这个函数可以事先我们的功能。Environ函数返回String,关连一个操作系统环境变量。
语法如下:Environ({envstring | number})
参数
a) envstring是可选的,包含一个环境变量名的字符串表达式。如果在环境字符串表格中找到参数envstring,则Environ函数返回在环境字符串表格中对应那个环境变量的等号后面的那段文本。
b)Environ(\”Computername\”)返回电脑名称,如果需要取得当前登录用户的用户名则使用Environ(\”UserName\”)。
C) number是可选的,用来表示环境字符串在环境字符串表格中的数值顺序。number 参数可以是任意的数值表达式,不过在计算前,它会先转换为一个整数。
特别注意点1:此函数在 Macintosh 中不可用
特别注意点2:如果在环境字符串表格中找不到 envstring,则会返回一个零长度字符串 (\”\”)。如果找到,则 Environ 会返回一段文本,文本是赋值给指定的 envstring 的,也就是说,在环境字符串表格中对应那个环境变量的等号 (=) 后面的那段文本。
如果指定了 number,则在环境字符串表格中相应位置上的字符串会返回。在这种情况下,Environ 会返回整个文本,包括 envstring。如果在指定位置上没有环境字符串,那么 Environ 会返回一个零长度字符串。
为了实现使用VBA开发的程序只能在某一特定的电脑中使用,那么可以在程序开始时检查当前电脑的名称是否是指定的名称,如下面的代码所示。
Private Sub Workbook_Open()
Dim myName As String
myName = Environ(\”Computername\”)
If myName <> \”NN\” Then
MsgBox \”对不起您不是合法用户,文件将关闭!\”
ThisWorkbook.Close
End If
End Sub
代码解析:
工作簿的Open事件过程,在工作簿打开时判断电脑的名称,如果不是\”NN\”则退出关闭工作簿。
第3行代码取得电脑的名称。
第4行到第7行代码,如果当前电脑不是指定的电脑,关闭工作簿。在实际应用中需要配合其他方法使用户在打开时强制启用宏才能达到这一效果。
代码截图:
运行:
点击确认后,程序将关闭:
今日内容回向:
1 如何为某台计算机量身定做程序?
2 Environ函数的意义是什么?
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。