Visual Basic

Passing the Missing Function Value

Ever?needed?to?pass?or?not?pass?a?value?to?a?sub?(or?function)?having?an?optional?argument?depending?on?the?business?rules? I?mean?something?like?this: Function?MyFunction(ByVal?SomeArg?As?Integer)?As?String ????If?SomeArg??0?Then ????????MyFunction?=?NotMyFunction(SomeArg)?’OK,?we?can?pass?SomeArg ????Else ????????MyFunction?=?NotMyFunction?’We?cannot?pass?it.?NotMyFunction?will?got?it?missing. ????End?If End?Function Instead?of?repeating?the?call?to?such?a?function?or?sub,?you?can?pass?it?a?true?missing?value?using?the?function?below: Public?Function?Missing(Optional?PlaceHolder?As?Variant)?As?Variant ????Missing?=?PlaceHolder End?Function Our?example?would?change?to?something?like?this: Function?MyFunction(ByVal?SomeArg?As?Integer)?As?Integer Dim?Arg?As?Variant ????If?SomeArg??0?Then?Arg?=?SomeArg?Else?Arg?=?Missing ????MyFunction?=?NotMyFunction(Arg) End?Function

Read More

Runtime Mode

If you ever need to know whether your code running inside the IDE or is compiled, drop these two functions in a module and use the first one to figure it out: Public Function RunTimeMode() As Boolean Dim bool As Boolean     Debug.Assert SetToTrue(bool)     RunTimeMode = Not bool End Function Private Function SetToTrue(ByRef bool As Boolean) As Boolean     bool = True     SetToTrue = True End Function

Read More