最新Excel-VBA常用技巧-第05章-Application对象.doc
《最新Excel-VBA常用技巧-第05章-Application对象.doc》由会员分享,可在线阅读,更多相关《最新Excel-VBA常用技巧-第05章-Application对象.doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品资料Excel-VBA常用技巧-第05章-Application对象.VBA常用技巧目录 第5章 Application对象技巧1 取得Excel版本信息Application对象的Version属性可以返回Excel的版本号,如下面的代码所示。#001 Sub AppVersion()#002 Dim myVersion As String#003 Select Case Application.Version#004 Case 8.0#005 myVersion = 97#006 Case 9.0#007 myVersion = 2000#008 Case 10.0#009 myVer
2、sion = 2002#010 Case 11.0#011 myVersion = 2003#012 Case Else#013 myVersion = 版本未知#014 End Select#015 MsgBox Excel 版本是: & myVersion#016 End Sub代码解析:AppVersion过程返回Application对象的Version属性值来取得Excel版本号。应用于Application对象的Version属性返回Excel版本号,语法如下:expression.Version参数expression是必需的,Application对象。运行AppVersion
3、过程结果如图 641所示。图 11取得Excel版本号技巧2 取得当前用户名称使用Application对象的UserName属性可以取得当前用户名称,如下面的代码所示。Sub UserName() MsgBox 当前用户名是: & Application.UserNameEnd Sub代码解析:UserName过程使用消息框显示当前用户名称。Application对象的UserName属性返回或设置当前用户的名称。运行UserName过程效果如图 651所示。图 21显示当前用户名称技巧3 Excel中的“定时器”Excel VBA并没有提供定时器控件,但是用户可以通过Application
4、对象的OnTime方法实现简单的定时器功能,如下面的代码所示。#001 Sub StartTimer()#002 Sheet1.Cells(1, 2) = Sheet1.Cells(1, 2) + 1#003 Application.OnTime Now + TimeValue(00:00:01), StartTimer#004 End Sub代码解析:StartTimer过程,使用Application对象的OnTime方法循环调用StartTimer过程实现每隔一秒钟运行一次StartTimer过程,从而在B1单元格中不断地显示程序累计运行时间,如图 661所示。图 31简单的定时器第2行
5、代码将B1单元格的值在原有的数字上加1。第3行代码使用OnTime方法在1秒后重新调用StartTimer过程,使B1单元格的值不断的加1,从而显示程序累计运行时间。应用于Application对象的OnTime方法能够安排一个过程在将来的特定时间运行,语法如下: expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule)参数expression是必需的,返回一个Application对象。参数EarliestTime是必需的,设置指定的过程开始运行的时间。使用Now + TimeValue(time)可以安排从现在开始经过
6、一段时间之后运行某个过程,使用TimeValue(time)可以安排在指定的时间运行某个过程。参数Procedure是必需的,设置要运行的过程名称。参数LatestTime是可选的,设置过程开始运行的最晚时间。例如将参数LatestTime设置为EarliestTime+10,当时间到了EarliestTime时如果Excel不处于空闲状态,那么Excel将等待10秒,如果在10秒内Excel不能回到空闲状态,则不运行该过程。如果省略该参数,Excel将一直等待到可以运行该过程为止。参数Schedule是可选的,如果其值为True(默认值),则安排一个新的OnTime过程,如果其值为False
7、,则清除先前设置的过程。取消定时的代码如下:#001 Sub EndTimer()#002 On Error GoTo Line#003 Application.OnTime Now + TimeValue(00:00:01), StartTimer, , False#004 Sheet1.Cells(1, 2) = 0#005 Exit Sub#006 Line:#007 MsgBox 请先按开始按钮!#008 End Sub代码解析:EndTimer过程取消StartTimer过程的定时。第2行代码错误处理语句,因为如果还没有运行StartTimer过程而先运行EndTimer过程取消定时
8、,程序会提示错误,如图 662所示,因此使用On Error GoTo Line语句在错误发生时执行第7行代码显示一个如图 663所示的提示消息框。图 32运行错误图 33提示消息框第3行代码将StartTimer过程的Schedule参数设置为False,取消定时设置。技巧4 设置活动打印机的名称使用Application 对象的ActivePrinter属性可以设置活动打印机的名称,如下面的代码所示。#001 Sub myPrinter()#002 Dim myPrinter As String#003 myPrinter = HP LaserJet P1008 在 Ne04:#004 A
9、pplication.ActivePrinter = myPrinter#005 MsgBox 活动打印机为: & Left(myPrinter, InStr(myPrinter, 在) - 1)#006 End Sub代码解析:myPrinter过程将活动打印机设置为“HP LaserJet P1008”。第3行代码指定需要设置为活动打印机的名称,第4行代码通过设置Application 对象的ActivePrinter属性将活动打印机设置为“HP LaserJet P1008”。第5行代码使用消息框显示活动打印机的名称及型号。运行myPrinter过程结果如图 671所示。图 41设置活动
10、打印机技巧5 屏蔽、改变组合键的功能使用Application 对象的OnKey方法可以屏蔽或改变组合键的默认操作,如下面的代码所示。#001 Private Sub Workbook_Open()#002 Application.OnKey c, myOnKey#003 End Sub#004 Sub myOnKey()#005 MsgBox 本工作表禁止复制数据!#006 End Sub代码解析:第1行到第3行代码工作簿的Open事件,在工作簿打开时使用OnKey方法改变组合键的功能。应用于Application 对象的OnKey方法指定特定键或特定的组合键运行的过程,语法如下:expre
11、ssion.OnKey(Key, Procedure)参数expression是必需的,该表达式返回一个Application 对象。参数Key是必需的,用于表示要按的键的字符串,具体请参阅VBA中的帮助。参数Procedure是可选的,表示要运行的过程名称的字符串,本示例中将过程名称指定为第4行到第6行代码的“myOnKey”过程,当按下组合键时并不会执行复制操作而只显示一个消息框。如果将Procedure参数指定为空文本(),则按组合键时不发生任何操作,达到屏蔽组合键的效果。如果省略Procedure参数,则按下组合键时产生Microsoft Excel中的正常结果,同时清除先前使用OnK
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 Excel VBA 常用 技巧 05 Application 对象
限制150内