VB函数带缺省参数,函数怎么写?怎么调?我见VB系统里的好多函数都带缺省参数,自已写不成功!请哪位帮帮忙!!!感谢不尽!
Public Function sys(a As strng, b As String)
If a <> "" Then
MsgBox "hhhhhhhhhhhh"
End If
If b <> "" Then
MsgBox "jjjjjjjjjjjj"
End If
End Function
'调用这个函数时
call sys(Myyumen,)
'出错!!
问题很菜,请不要笑我哦!帮我!

解决方案 »

  1.   

    Optional 可选的。表示参数不是必需的。如果使用了该选项,则 arglist 中的后续参数都必须是可选的,而且必须都使用 Optional 关键字声明Public Function sys(a As strng,optional b As String)
      

  2.   

    这样定义
    Function MyFunc(MyStr As String, Optional MyArg1 As _ Integer = 5, Optional MyArg2 = "Dolly") 
      

  3.   

    Public Function sys(a As strng, optional b As String = "default-b")
       MsgBox "a=" & a
       MsgBox "b=" & b
    End Function'调用这个函数时
    call sys("aaa","bbb")
    call sys("aaa")
      

  4.   

    这个function啊你自定义的函数,所以你调用的时候必须传入2个参数
    比如 sys("test","world")这样子function的调用是不需要call的,sub才需要call.
    function和sub的区别是,function是有返回参数,所以你这边的代码根本没有返回参数,根本没必要用function,你这是概念不清楚带有默认参数使用optional,比如下面举的例子
    Public Sub sysFile(ByVal sFileName As String, Optional lShowMsg As Boolean = True)
    当call这个sub只需要写成call sysFille("strFile")就可以
      

  5.   

    谢谢各位了,就是这个关键字弄的我现在好了,哈哈,太谢谢你们了,下一步希望我们能共同关注csdn,共同发展,我很喜欢交朋友,我的emile:[email protected]
    最后还是表示感谢!!!