前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Application主程序对象方法(二)

Application主程序对象方法(二)

作者头像
无言之月
发布2019-10-13 15:39:41
1.7K0
发布2019-10-13 15:39:41
举报

大家好,上节介绍了application主程序对象的ontime方法,本节介绍onkey方法和inputbox方法。onkey方法是用于为程序设置快捷键,inputbox方法可以创建弹窗输入信息。

一、Onkey方法

使用OnKey方法即设置快捷键,可以将程序赋给单个键或键组合,通过按下赋给的键或键组合来运行该程序。

1、基础知识

OnKey方法的语法为:

Application.OnKey(Key,Procedure)

1、参数Key,必需,指定代表所按键的字符串。

2、参数Procedure,可选,指定当按下指定键时要运行的过程名。

忽略第2个参数将使指定键恢复正常功能;而将空字符串作为第2个参数并不会恢复快捷键的原有功能,而是忽略按键,即当使用指定键时不会有任何操作。

OnKey方法设置的快捷键对所有打开的工作簿都有效

onkey方法中常用的快捷键代码如下:

也可指定与 Shift 和/或 Ctrl 和/或 Alt 组合使用的键。要指定与其他键组合使用的键,需要组合的键 在键代码之前添加

2、示例

通过onkey方法就是给vba程序过程设置快捷键,下面示例首先设置一个简单的sub过程,通过msgbox弹窗显示“新年快乐”

设置application主程序对象的onkey方法,设置快捷键Ctrl和Up键。

Sub onkey1()

Application.OnKey "^{up}", "test"

End Sub

第二个过程设设置快捷键“^{up}”代表Ctrl键加Up键,两个键的代码依次写就可以。第二个参数为test过程的字符串形式。注意两个参数是都是加英文双引号的。

同样如果快捷键写为“+^{right}”则表示Shift键加Ctrl键加Right向右键。当按组合的快捷键时,就可以调用对应的vba过程。


二、inputbox方法

InputBox方法,可以是显示对话框,接受用户输入的信息并可以在代码中使用这些信息。

前面曾介绍过vba输入inputbox函数来获取输入的信息。本节要说明的Application主程序的inputbox方法则,它是函数的功能加强版。Application主程序的inputbox方法强化了三个功能:

1、可以指定返回的数据类型,而inputbox函数只能返回字符型。

2、可以对输入的数据进行有效性验

3、支持在单元格中以拖放的方式来指定单元格区域。

1、基础知识

Inputbox方法的语法格式和参数:

application.inputbox(prompt [,title] [,default] [,left] [,top] [,helpfile] [,helpcontextID] [,type])

其主要参数和inputbox函数类似,相比inputbox函数增加了type参数。首先是雷同的参数:

参数Prompt,必需,用于指定显示在对话框中提示用户输入的文本。

参数Title,可选,提供显示在对话框标题栏的文本。如果忽略,则默认为“输入”。

参数Default,可选,当对话框初始化时,指定对话框中显示在文本输入框中的值。如果忽略,则文本框中为空。

参数Left,可选,指定对话框相对于屏幕左上角的x位置,以磅为单位。

参数Top,可选,指定对话框相对于屏幕左上解的y位置,以磅为单位。

参数HelpFile,可选,为对话框提供帮助文件的名字。如果参数HelpFile和参数HelpContextID都被设置,则对话框中显示帮助按钮。

参数HelpContextID,可选,在参数HelpFile中的帮助主题的上下文ID编号。

参数Type,为可选,指定返回的数据类型。如果忽略该参数,则对话框返回文本。下面列出了可以传递到参数Type中的值

type参数值,可以是一个值或者多个值之和(即任意组合)。例如,如果想要输入框同时接受文本和数字,则可以设置参数Type为1+2。如果type参数值为8,inputbox方法将返回一个range对象,此时注意需要用set赋值语句,将结果赋值给一个range对象变量。(如果不适用set语句,赋值的结果不是range对象本身,而是这个区域的值。)

2、示例

通过inputbox方来,将选中单元格并标记为蓝色,插入按钮运行程序,演示图如下:

Sub test()

Dim rng As Range

Set rng = Application.InputBox("选择单元格设置背景色", _

"测试", Selection.Address, , , , , 8)

rng.Interior.ColorIndex = 5

End Sub

代码中首先定义了rng变量为单元格对象,然后用application对象的inputbox方法获得选中的单元格的地址。Selection.Address表示鼠标选中的单元格的地址,最后tpye=8为限制返回的数据类型是8,不同参数用英文逗号间隔,其中不需要设置的参数略过即可。)

由于返回的是单元格对象,需要用set语句将inputbox方法返回的单元格赋值给rng,然后将rng的背景颜色设置为蓝色。

这个示例比较全的体现inputbox方法的优势,可以返回range单元格对象,可以进行有效性验证,并支持以拖放方式指定单元格区域。

注意在代码中application.inputbox调用的是inputbox方法,不带对象标识符application的是调用inputbox函数。


今天下雨

本节主要介绍application主程序对象的onkey方法和inputbox方法,其中onkey方法也是一种excel事件,后期介绍事件时会再说明。后面将继续介绍其他方法,祝大家学习快乐。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel和Access学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档