1 inputbox() 和 application.inputbox() 的语法和功能差别
1.1 inputbox()
- 基本语法
- InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])
- 其中 inputbox(prompt) 是必选参数
1.2 application.InputBox()
- 基本语法
- expression.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextId, Type)
- 可以实现选择区域功能
- 对选择的区域如何处理,我这里还有问题
2 以 inputbox() 为例子看 按顺序/位置 传递参数 和按名称传递参数的用法差别
2.1 明确差别
- 必选参数,是必须带的参数,一般在语法说明里 不带方括号 []
- 可选参数,可带可不带,一般可带方括号 []
2.2 参数传递的单一写法
- 按顺序传递参数时,不需要写参数名,只需要带参数值即可
- 不传的参数,必须空出来, 比如 ,,,,
- 参数必须是第几个,次序必须严格正确
- 无所谓次序,次序随意,即使是必须参数也可以写在后面
- 每个参数都必须带名字
- 参数只填需要的那几个就可以,其他的可不管,也不用空出位置来
2.3 参数传递的混合写法
- 混合传递参数
- 按顺序/位置传递的参数,必须写在前面,而且必须有序
- 按名称传递的参数,必须写在后面,这部分随意
3 代码1:试验 InputBox()
Sub test201()
'inputbox()
'InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])
'参数传递
'必选参数
'可选参数
'按顺序传递参数
'按名称传递参数
a = InputBox("请输入一个数字", "输入框")
Debug.Print a
b = InputBox("请输入一个数字", "输入框", 999, 10240, 10240, "help.hlp", Context:=55)
Debug.Print b
c = InputBox("请输入一个数字", , , , , "help.hlp", Context:=55)
Debug.Print c
'单一写法,但是按次序传递参数
d = InputBox("请输入一个数字", , 12345)
Debug.Print d
'单一写法,但是按参数名传递,可以无序
e = InputBox(Default:=123456, Prompt:="请输入一个数字")
Debug.Print e
'混合写法,是有顺序要求的,有的按位置传,有的按参数名传参数--按名字传的不用管次序,但是得放在最后把
f = InputBox("请输入一个数字", Default:=1234567)
Debug.Print f
End Sub
4 代码2,试验application.InputBox()
Sub test202()
'application.InputBox()
'expression.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextId, Type)
a = Application.InputBox("请选择一个范围", , , , , , 8).Value
'暂时没找到怎么处理这个变量的方法
Set b = Application.InputBox(Type:=8, Prompt:="你好,请选1个范围")
End Sub