[ 更换 ]
热门城市
北京上海广州深圳成都杭州南京武汉天津西安重庆青岛沈阳长沙大连厦门无锡福州济南宁波昆明苏州郑州长春合肥南昌哈尔滨常州烟台南宁温州石家庄太原珠海南通扬州贵阳东莞徐州大庆佛山威海洛阳淮安呼和浩特镇江潍坊桂林中山临沂咸阳包头嘉兴惠州泉州三亚赣州九江金华泰安榆林许昌新乡舟山慈溪南阳聊城海口东营淄博漳州保定沧州丹东宜兴绍兴唐山湖州揭阳江阴营口衡阳郴州鄂尔多斯泰州义乌汕头宜昌大同鞍山湘潭盐城马鞍山襄樊长治日照常熟安庆吉林乌鲁木齐兰州秦皇岛肇庆西宁介休滨州台州廊坊邢台株洲德阳绵阳双流平顶山龙岩银川芜湖晋江连云港张家港锦州岳阳长沙县济宁邯郸江门齐齐哈尔昆山柳州绍兴县运城齐河衢州太仓张家口湛江眉山常德盘锦枣庄资阳宜宾赤峰余姚清远蚌埠宁德德州宝鸡牡丹江阜阳莆田诸暨黄石吉安延安拉萨海宁通辽黄山长乐安阳增城桐乡上虞辽阳遵义韶关泸州南平滁州温岭南充景德镇抚顺乌海荆门阳江曲靖邵阳宿迁荆州焦作丹阳丽水延吉茂名梅州渭南葫芦岛娄底滕州上饶富阳内江三明淮南孝感溧阳乐山临汾攀枝花阳泉长葛汉中四平六盘水安顺新余晋城自贡三门峡本溪防城港铁岭随州广安广元天水遂宁萍乡西双版纳绥化鹤壁湘西松原阜新酒泉张家界黔西南保山昭通河池来宾玉溪梧州鹰潭钦州云浮佳木斯克拉玛依呼伦贝尔贺州通化朝阳百色毕节贵港丽江安康德宏朔州伊犁文山楚雄嘉峪关凉山雅安西藏四川广东河北山西辽宁黑龙江江苏浙江安徽福建江西山东河南湖北湖南海南贵州云南陕西甘肃青海台湾内蒙古广西宁夏香港澳门
培训资讯网 - 为兴趣爱好者提供专业的职业培训资讯知识

Application对象 - EXCEL VBA(14)

对象

Application对象是EXCEL对象模型的最顶层对象,代表EXCEL运用程序本身。Application对象提供了大量的属性、方法和事件供用户调用。

使用VBA在EXCEL环境下开发应用程序,就是访问和控制EXCEL各个对象的过程。所以,了解EXCEL对象模型是VBA编程的重要基础之一。“VBA编程 = VBA语法+EXCEL对象模型”。VBA是面向对象的程序设计语言,将其嵌入EXCEL后,就可以直接访问EXCEL的各个对象。

导读

  • Application对象介绍

Application对象常用属性Application对象常用方法Application对象常用事件

  • Application对象运用

控制EXCEL文档状态控制应用程序模拟键盘输入调用EXCEL工作表快速跳转和合并单元格

  • Application对象介绍

启用Application事件编写Application事件过程

一、Application对象介绍

1、Application对象常用属性

Application对象提供了很多属性,通过这些属性完成控制EXCEL的状态、获取对象的引用等操作。

I、控制EXCEL的状态

属性

备注

DisplayFormulaBar

设置该属性为True显示编辑栏

DisplayScrollBars

设置该属性为True所有工作簿显示滚动条

DisplayStatusBar

设置该属性为True显示状态栏

StatusBar

返回或设置状态栏中的文字

WindowState

返回或设置窗口的状态

II、获取对象的引用

许多Application对象的属性可以用来返回其它的对象,返回对象的属性主要有以下几种:

对象

备注

ActiveCell

返回一个Range对象,指活动窗口(最上方的窗口)中的活动单元格区域

ActiveChart

返回一个Chart对象,指嵌入的活动图表

ActiveSheet

返回活动工作表对象

ActiveWindow

返回活动窗口对象

ActiveWorkBook

返回一个WorkBook对象,指当前窗口

Cells

返回一个Range对象,值活动表格的所有行列。Cells对象的Item属性可以具体确定行、列索引

Selection

返回活动表格中的选定对象

Sheets

返回Sheets集合,指活动工作簿中的所有工作表

WorkBooks

返回WorkBooks集合,表示所有打开的工作簿/td>

WorkSheetFunction

VBA用于调用EXCEL工作表函数的对象

2、Application对象常用方法

Application对象提供了很多允许执行操作的方法,下面是一些常用的方法:

方法

备注

Calculate

指计算打开的工作簿,工作簿中的某个工作表或指定单元格区域。如sheets("sheet1").Calculate,表示sheet1中的公式重新计算

Evaluate

允许用字符串形式创建引用,并且在需要的时候转换成一个对象引用或求出表达式的值

Goto

用于在工作簿中导航到指定的单元格或区域

Quit

退出EXCEL程序。如果不需要系统显示对话框询问是否保存,可在使用Quit前设置语句DisplayAlerm=FalseDisplayAlerm=FalseDisplayAlerm=FalseDisplayAlerm=False

OnTime

指定一个过程在将来特定时间运行

Undo

撤销最后一次用户界面操作

Union

返回两个或多个区域的合并区域

3、Application对象常用事件

在EXCEL对象模型中,大部分对象(Workbook、Worksheet、Range)都提供了事件接口,能满足程序设计的需要,用户可以不用Application对象事件。常用Application对象事件主要有以下几种:

事件

备注

NewWorkbook

建立新工作簿时触发此事件

SheetActivate

激活任何工作簿触发事件

SheetChange

工作表单元格内容发生变化触发此事件

SheetDeactivate

停用任何工作簿触发事件

WindowActivate

窗口激活时触发该事件

WindowDeactivate

窗口停用时触发此事件

WindowResize

调整窗口大小时触发事件

WorkBookActivate

激活任何工作簿触发事件

WorkBookBeforeClose

关闭工作簿前触发事件

WorkBookBeforeSave

保存工作簿前触发事件

WorkBookNewSheet

在打开的工作簿中建立新表触发事件

WorkBookOpen

打开工作簿时触发事件

二、Application对象运用

1、控制EXCEL文档状态

Application对象代表整个EXCEL应用程序,通过Application对象的属性就可以设置应用程序的各个选项。

"控制EXCEL文档状态样例代码
Application.Caption = "银河统计"        "在EXCEL文档标题栏文档名称后面添加标题
Application.StatusBar = "银河统计"      ""银河统计"显示在屏幕左下角状态栏中
Application.DisplayFormulaBar = False   "屏蔽EXCEL公式编辑栏(设置属性值为True恢复)
"控制指针形状(xlDefault:默认;xlNorthwestArrow:西北向箭头;
"xlIBeam:I型指针;xlWait:沙漏型指针)
Application.Cursor = xlDefault          "程序或过程结束时应恢复默认设置      

2、控制应用程序

通过Application对象的相关属性,还可以对EXCEL应用程序的运行状态进行控制。例如,关闭屏幕刷新、禁止弹出警告对话框。

通常,EXCEL每执行一次操作就会更新一次屏幕,使用VBA操作EXCEL也是如此,这样会导致程序运行速度下降。关闭屏幕更新可以加快程序运行速度。注意程序运行结束后恢复程序更新功能。

正常情况下,当用户删除工作表或保存修改过的文件时,将弹出确认对话框,可以使用Application对象的DisplayAlerts属性屏蔽对话框。

"控制应用程序样例代码
Application.ScreenUpdating = False              "关闭屏幕更新(EXCEL单元格操作前)
Application.ScreenUpdating = True               "恢复屏幕更新(EXCEL单元格操作后)
Application.DisplayAlerts = False                    "关闭提示警告对话框
Application.DisplayAlerts = True                     "恢复提示警告对话框
Application.RecentFiles.Maximum = 5            "利用RecentFiles属性设定最近使用文件数量(1-9)
MsgBox Application.RecentFiles.Count           "返回最近文件数
MsgBox Application.RecentFiles.Item(1).Name     "返回第一个最近使用文件路径和名称 

3、模拟键盘输入

使用Application对象的SendKeys方法,可以模拟用户点击键盘发送指令给应用程序。

语法:
    Application.SendKeys(Keys, Wait)
         【Keys:以文本形式发送给应用程序的键或组合键】
         【Wait:逻辑值,如果为True,处理完按键后再执行程序】
"模拟键盘输入样例代码
Dim rValue As Double
rValue = Shell("NOTEPAD.EXE", 1)
AppActivate rValue
Application.SendKeys "~", True
Application.SendKeys "Keybord input demo: ", True
Application.SendKeys "~", True
Application.SendKeys "Excel 2007 VBA!", True 

注:在SendKeys方法中,"~"表示Enter键

4、调用EXCEL工作表

Application对象的WorksheetFunction属性可以方便地调用EXCEL工作表函数。现有EXCEL文档如下图:

Application对象 - EXCEL VBA(14)

"调用EXCEL工作表样例代码
Dim oRange As Object
Dim oRange1 As Object
Dim oRange2 As Object
Dim oRange3 As Object
Dim oSum As Double
Dim oCountif As Integer
Dim oCountifs As Integer
Set oRange = Worksheets("sheet3").Range("C2:E10")
oSum = Application.WorksheetFunction.Sum(oRange)
MsgBox oSum
Set oRange1 = Worksheets("sheet3").Range("C2:C21")
oCountif = Application.WorksheetFunction.CountIf(oRange1, ">=" & 60)
MsgBox oCountif
Set oRange1 = Worksheets("sheet3").Range("C2:C21")
Set oRange2 = Worksheets("sheet3").Range("D2:D21")
Set oRange3 = Worksheets("sheet3").Range("E2:E21")
oCountifs = Application.WorksheetFunction.CountIfs(oRange1, ">=60", oRange2, ">=60", oRange3, ">=60")
MsgBox oCountifs 
Set oRange1 = Worksheets("sheet3").Range("B2:B21")
oCountif = Application.WorksheetFunction.CountIf(oRange1, "王?")
MsgBox oCountif

注:可以在条件中使用通配符问号“?”和星号“*”,如果要查找实际的问号“?”和星号“*”,可在该字符前键入波形符“~”

5、快速跳转和合并单元格

"快速跳转和合并单元格样例代码
Dim oRange As Object
Application.Goto reference:=Worksheets("sheet1").Range("C21:C25"), Scroll:=True
Worksheets("sheet4").Activate
Set oRange = Application.Union(Range("C1:C10"), Range("D1:D10"))
oRange.Formula = "=RAND()"

三、用户动作处理(响应)

1、启用Application事件

激活Application事件需要如下步骤:

  • 建立类模块:例如,在VBE中建立类模块oArray
  • 声明引用对象:代码为,
 Public WithEvents App As Application
  • 选择对象变量App:在类模块声明带有事件的新对象后,该对象变量出现在类模块的的【对象】下拉列表中,如图:

Application对象 - EXCEL VBA(14)

  • 选择事件:在【对象】下拉列表中前面声明的事件变量,该对象有效事件将列在【过程】下拉列表中,选择事件后即可进行编程。如图:

Application对象 - EXCEL VBA(14)

  • 建立模块并添加激活代码:建立模块oMethod,编写代码如下:
Dim X As New oArray
Sub InitializeApp()
    Set X.App = Application
End Sub 

注:oArray为类模块名称。经过以上设置,EXCEL即可捕获Application对象的事件。对于Application对象事件的代码必须写在类模块oArray中

2、编写Application事件过程

激活Application事件需要如下步骤:

  • 事件编程:例如,在App【对象】下拉列表中的【过程】中选择事件SheetChange,如图:

Application对象 - EXCEL VBA(14)

  • 编写事件代码:
Private Sub App_SheetChange(ByVal Sh As Object, ByVal Target As Range) 
MsgBox 123456789 
End Sub
  • 事件调用:在某一过程中引用模块过程InitializeApp,代码为, Call InitializeApp

注:调用过程InitializeApp,EXCEL单元格内容改变后将激活运行对象事件App_SheetChange

通过使用Application对象,可以实现对Excel应用程序的自动化操作和控制,例如打开、关闭、保存工作簿,导航到不同的单元格或工作表,执行各种计算和数据处理操作,运行宏等。Application对象是Excel VBA编程中的一个重要对象,掌握其属性和方法的使用可以提高VBA编程的效率和灵活性。

相关内容

@陕西学生家长:请使用“校外培训家长端”APP保障合法权益

来源:西安市教育局 来源:陕西省教育厅校外教育培训监管处(民办教育处) ···

澳门帮扶贵州从江小学英语教师能力提升培训学习热度高

连日来,在贵州师范大学举办的2021年澳门帮扶贵州省从江县小学英语教师能力提升培训课堂上,授课老师与培训学员积极互动,各小组各显神通,都拿出自己精心设计的教学作品尽情展示,呈现出一片热闹景象。图为参培学员在澳门帮扶从江县小学英语教师能力提升···

中俄中学联盟首届全国中学俄语教师培训在黑龙江举行

中新网哈尔滨8月21日电(王庆利 记者 刘锡菊)“中俄中学联盟·首届中国中学俄语教师培训”21日在中国北疆黑龙江省启幕,来自上海、黑龙江、广东等省份的60余名中国教师参与活动,在接来下的4天时间里,成员们将在语言技法、文化背景及师者内涵等方···

聚焦新课程 实践新理念——娄星区2023年小学英语新课标培训

科教新报·新湖南客户端讯(通讯员 梁彩桃)为更好地领会和贯彻《义务教育英语课程标准》(2022年版),并切实把新课标的教育理念和基本要求落实到课堂中,落实立德树人的根本任务,提升英语教师的专业能力和核心素养,9月20日上午,娄底市娄星区20···

内地人在香港讲普通话会受歧视?真相远没那么简单

一个长期存在的梗,因为内地与香港通关,再次被炒了起来:日前,有个内地自媒体女孩做了期“挑战在香港一天只说普通话”视频,得出结论是不仅会被歧视遭翻白眼,还会受到与当地人不同等的待遇。真相是这样的吗,或者说,真相就这么简单粗暴吗?愿讲还是不会讲···

靠谱的成都托福培训机构怎么选?

托福全称是检定非英语为母语的英语能力考试,是由美国教育测验服务社举办的英语能力测验。一般提升托福的方法有两种:自学或报班,但很多同学都会选择报班。那么靠谱的成都托福培训机构怎么选? 一起来看看吧。1、多对比。想选择合适的托福机构,一定不能怕···

香港将定期举行中小学普通话水平考试

香港考试及评核局5月26日宣布,今年5月起会定期协办中小学普通话水平考试,为香港中小学生提供更多认证普通话能力的选择。这个获国家教育部港澳台事务办公室批准举办的普通话水平考试,2006年第一次在香港举办,至今报考人数超过10万人次。负责主办···

香港小学普通话水平测试今天首度开考!114考生报名参加

香港语言研究中心率先推出香港小学普通话水平等级测试。 (新华社资料图)【点新闻报道】由香港语言研究中心组织研发的标准化专业考试“香港幼稚园及中小学普通话水平等级测试”之HKPSC-P(香港小学普通话水平等级测试)于今日(17日)首度在香港考···

工行湖南分行举办全省EAP员工关怀课程培训班

为进一步提升全行员工幸福感和获得感,促进员工心理健康,为员工减负减压,8月31日下午,工商银行湖南省分行以现场加视频会议形式在长沙举办了一期全省EAP员工关怀课程培训班。省分行本部的员工在现场,全省14个地市分行的200余名一线员工通过视频···

香港电脑学会IT领袖培训平台iLEAP参访新华三杭州总部

9月4日,香港电脑学会IT领袖培训平台iLEAP一行到访紫光股份旗下新华三集团杭州总部,进行深入地交流学习。在新华三集团副总裁,首席品牌营销官杨玺和新华三港澳区总经理于飞的陪同下,他们先后抵达新华三杭州创新体验中心及新华三未来工厂,体验了新···

赴港升学必备——粤语培训班来袭!|精通粤语,横行香港

要想真正了解香港,更好地在香港学习和生活,听得懂并且能说基本的粤语是大有裨益的。赴港必备——粤语培训班来袭!! 赴港升学——粤语语言的重要性特殊的历史背景,造就了香港独特的语言环境。一般香港人日常交流以粤语为主,学好粤语不仅能够帮助各位同学···

贵州省民族地区、农村地区教师普通话培训班在贵州民族大学举行

来源:【未来网】6月21日上午,由贵州省教育厅(省语委)、贵州民族大学“国家语言文字推广基地”共同举办的贵州省民族地区、农村地区教师普通话培训班开班仪式在贵州民族大学举行。参加本次培训班的学员共100名,分别来自铜仁市、遵义市和安顺市边远民···

备战亚运 浙江金华铁路部门加强外语等相关培训

杭州亚运会将于9月23日至10月8日举行。浙江金华是本届亚运会协办城市之一,将承办足球和藤球两个项目,近期,铁路金华车务段在辖区内开展外语等相关方面的培训,提升服务能力。在义乌高铁站多功能厅里,也门留学生王迪正在为车站工作人员培训阿拉伯语,···

港人英语能力亚洲排第四?香港教育局:公众须小心解读有关数字及排名

来源:环球时报【环球时报综合报道】私人英语教育机构英孚教育(EF)发表最新一份《EF EPI英语能力指标》,调查覆盖112个国家和地区,分析约200万名非英语母语人士在英语阅读和聆听测试方面的数据,结果香港在亚洲排名第四。资料图 图源:视觉···

香港教育局局长访京:将安排教师到北师大培训,鼓励学好普通话

北京日报客户端 | 记者 孟紫薇香港特区行政长官李家超本周在北京拜访不同中央部委和机构,多位特区政府政策局局长也来京访问。教育局局长蔡若莲昨天(3月15日)先后到访教育部语言文字应用研究所(下称“语用所”)、北京师范大学等,共商香港新入职教···

齐鲁师范学院承办的山东省2023年小学英语骨干教师培训圆满结束

9月14日—17日,由齐鲁师范学院外国语学院承办的山东省2023年小学英语骨干教师培训在济南举行。全省各地教育局遴选的51名小学英语骨干教师参加此次培训。齐鲁师范学院外国语学院院长、项目负责人宋秀葵,项目首席专家、外国语学院教授梁承锋及学院···

香港小学普通话水平考级,开考

参考消息网6月20日报道据香港“橙新闻”网站6月19日报道,由香港语言研究中心组织研发的“香港小学普通话水平等级测试”,17日首度在香港考试及评核局进行,测试地点位于考评局新蒲岗评核中心。据报道,此次测试共有来自全港30所小学的114名小一···

早安海峡 蔡英文南太“寻亲”遭嘲讽 南非警察汉语学习班受欢迎

台海时事部魅力中国,早安海峡!各位早上好,今天是10月19日,星期四,迎收听中国台湾网《早安,海峡》。首先来关注新闻头条【头条】习近平强调,坚持“一国两制”,推进祖国统一(图片来源:中国台湾网)习近平同志在十九大报告中强调,坚持“一国两制”···

全球首批!GE Apex CT培训基地落户江西省人民医院

2023年6月10日下午江西省人民医院(南昌医学院第一附属医院)GE Apex CT培训基地授牌仪式在江西省人民医院爱国路院区裙楼举行,陈志平院长出席并代表医院接受授牌。GE公司256排512层Revolution Apex CT,这是江西···

云南省中药材新版GAP培训班在昆举办

来源:【云南日报】为进一步落实《云南省中药材产业高质量发展三年行动工作方案(2022-2024年)》,8月21日,由云南省农业农村厅、云南省农业科学院药用植物研究所联合举办的中药材新版GAP培训班在昆明举办。全省14个州市的中药材推广技术人···