您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 造纸印刷 > Excel-VBA常用技巧-第05章-Application对象
VBA常用技巧代码解析1VBA常用技巧目录VBA常用技巧...................................................................................................................................1第5章Application对象...................................................................................................2技巧1取得Excel版本信息........................................................................................2技巧2取得当前用户名称...........................................................................................3技巧3Excel中的“定时器”.....................................................................................3技巧4设置活动打印机的名称...................................................................................5技巧5屏蔽、改变组合键的功能...............................................................................6技巧6设置Excel窗口标题栏....................................................................................7技巧7自定义Excel状态栏........................................................................................8技巧8灵活退出Excel.................................................................................................9技巧9隐藏Excel主窗口..........................................................................................109-1设置Application对象的Visible属性........................................................109-2将窗口移出屏幕..........................................................................................119-3设置工作簿作为加载宏运行.......................................................................12VBA常用技巧代码解析2第5章Application对象技巧1取得Excel版本信息Application对象的Version属性可以返回Excel的版本号,如下面的代码所示。#001SubAppVersion()#002DimmyVersionAsString#003SelectCaseApplication.Version#004Case8.0#005myVersion=97#006Case9.0#007myVersion=2000#008Case10.0#009myVersion=2002#010Case11.0#011myVersion=2003#012CaseElse#013myVersion=版本未知#014EndSelect#015MsgBoxExcel版本是:&myVersion#016EndSub代码解析:AppVersion过程返回Application对象的Version属性值来取得Excel版本号。应用于Application对象的Version属性返回Excel版本号,语法如下:expression.Version参数expression是必需的,Application对象。运行AppVersion过程结果如图1-1所示。VBA常用技巧代码解析3图1-1取得Excel版本号技巧2取得当前用户名称使用Application对象的UserName属性可以取得当前用户名称,如下面的代码所示。SubUserName()MsgBox当前用户名是:&Application.UserNameEndSub代码解析:UserName过程使用消息框显示当前用户名称。Application对象的UserName属性返回或设置当前用户的名称。运行UserName过程效果如图2-1所示。图2-1显示当前用户名称技巧3Excel中的“定时器”ExcelVBA并没有提供定时器控件,但是用户可以通过Application对象的OnTime方VBA常用技巧代码解析4法实现简单的定时器功能,如下面的代码所示。#001SubStartTimer()#002Sheet1.Cells(1,2)=Sheet1.Cells(1,2)+1#003Application.OnTimeNow+TimeValue(00:00:01),StartTimer#004EndSub代码解析:StartTimer过程,使用Application对象的OnTime方法循环调用StartTimer过程实现每隔一秒钟运行一次StartTimer过程,从而在B1单元格中不断地显示程序累计运行时间,如图3-1所示。图3-1简单的定时器第2行代码将B1单元格的值在原有的数字上加1。第3行代码使用OnTime方法在1秒后重新调用StartTimer过程,使B1单元格的值不断的加1,从而显示程序累计运行时间。应用于Application对象的OnTime方法能够安排一个过程在将来的特定时间运行,语法如下:expression.OnTime(EarliestTime,Procedure,LatestTime,Schedule)参数expression是必需的,返回一个Application对象。参数EarliestTime是必需的,设置指定的过程开始运行的时间。使用Now+TimeValue(time)可以安排从现在开始经过一段时间之后运行某个过程,使用TimeValue(time)可以安排在指定的时间运行某个过程。参数Procedure是必需的,设置要运行的过程名称。参数LatestTime是可选的,设置过程开始运行的最晚时间。例如将参数LatestTime设置为EarliestTime+10,当时间到了EarliestTime时如果Excel不处于空闲状态,那么Excel将等待10秒,如果在10秒内Excel不能回到空闲状态,则不运行该过程。如果省略该参数,Excel将一直等待到可以运行该过程为止。参数Schedule是可选的,如果其值为True(默认值),则安排一个新的OnTime过程,如果其值为False,则清除先前设置的过程。取消定时的代码如下:#001SubEndTimer()#002OnErrorGoToLineVBA常用技巧代码解析5#003Application.OnTimeNow+TimeValue(00:00:01),StartTimer,,False#004Sheet1.Cells(1,2)=0#005ExitSub#006Line:#007MsgBox请先按[开始]按钮!#008EndSub代码解析:EndTimer过程取消StartTimer过程的定时。第2行代码错误处理语句,因为如果还没有运行StartTimer过程而先运行EndTimer过程取消定时,程序会提示错误,如图3-2所示,因此使用OnErrorGoToLine语句在错误发生时执行第7行代码显示一个如图3-3所示的提示消息框。图3-2运行错误图3-3提示消息框第3行代码将StartTimer过程的Schedule参数设置为False,取消定时设置。技巧4设置活动打印机的名称使用Application对象的ActivePrinter属性可以设置活动打印机的名称,如下面的代码VBA常用技巧代码解析6所示。#001SubmyPrinter()#002DimmyPrinterAsString#003myPrinter=HPLaserJetP1008在Ne04:#004Application.ActivePrinter=myPrinter#005MsgBox活动打印机为:&Left(myPrinter,InStr(myPrinter,在)-1)#006EndSub代码解析:myPrinter过程将活动打印机设置为“HPLaserJetP1008”。第3行代码指定需要设置为活动打印机的名称,第4行代码通过设置Application对象的ActivePrinter属性将活动打印机设置为“HPLaserJetP1008”。第5行代码使用消息框显示活动打印机的名称及型号。运行myPrinter过程结果如图4-1所示。图4-1设置活动打印机技巧5屏蔽、改变组合键的功能使用Application对象的OnKey方法可以屏蔽或改变组合键的默认操作,如下面的代码所示。#001PrivateSubWorkbook_Open()#002Application.OnKey^{c},myOnKey#003EndSub#004SubmyOnKey()#005MsgBox本工作表禁止复制数据!#006EndSubVBA常用技巧代码解析7代码解析:第1行到第3行代码工作簿的Open事件,在工作簿打开时使用OnKey方法改变Ctrl+C组合键的功能。应用于Application对象的OnKey方法指定特定键或特定的组合键运行的过程,语法如下:expression.OnKey(Key,Procedure)参数expression是必需的,该表达式返回一个Application对象。参数Key是必需的,用于表示要按的键的字符串,具体请参阅VBA中的帮助。参数Procedure是可选的,表示要运行的过程名称的字符串,本示例中将过程名称指定为第4行到第6行代码的“myOnKey”过程,当按下Ctrl+C组合键时并不会执行复制操作而只显示一个消息框。如果将Procedure参数指定为空文本(),则按Ctrl+C组合键时不发生任何操作,达到屏蔽组合键的效果。如果省略Procedure参数,则按下Ctrl+C组合键时产生MicrosoftExcel中的正常结果,同时清除先前使用OnKey方法所做的特殊击键设置,所以恢复Ctrl+C组合键的代码如下:Application.OnKey^{c}为了不影响其他工作簿的功能,恢复代码就放在工作簿的Deactivate事件中,如下面的代码所示:#001PrivateSubWorkbook_Deactivate()#002Application.OnKey^{c}#003EndSub代码解析:当工作簿从活动状态转为非活动状态时恢复Ctrl+C组合键的正常功能。技巧6设置Excel窗口标题栏Excel主窗口标题栏默认的名称是“MicrosoftExcel”,通过设置Application对象的Caption属性可以改变Excel主窗口的标题栏,如下面的代码所示。#001SubAppCapti
本文标题:Excel-VBA常用技巧-第05章-Application对象
链接地址:https://www.777doc.com/doc-5469703 .html