Re : Excel To Call Sub and Assign Arguments

T

tkt_tang

Please examine the following statement,

Application.OnTime Now + TimeValue("00:00:01"), "CentrAcroSelection"

How could any arguments (as required) be assigned accordingly ?

Please share your experience.

Regards.
 
J

Joel

Stringtime = "00:00:01"
STime = TimeValue(Stringtime)
MyProcedure = "CentrAcroSelection"
Application.OnTime Now + STime, MyProcedure
 
T

tkt_tang

Joel, Esq.,

Thank you for responding to the query.

Would like to have called the Sub as if bearing the effects of,

Call CentrAcroSelection(TitleWrap)

Needless to say, TitleWrap is an argument to be processed by the Sub,
CentrAcroSelection.

However, the syntax of OnTime method (shown above) prevents the
assignment of TitleWrap to CentrAcroSelection as it is.

Please extend a helping hand.

Regards.
 
J

Joel

Use a public variable to pass the parameter

Public MyParameter As String
Sub test()
MyParameter = "abc"
Application.OnTime Now + TimeValue("00:00:5"), "my_Procedure"

End Sub

Sub my_Procedure()

MsgBox (MyParameter)

End Sub
 
T

tkt_tang

Joel, Esq.,

Thank you again.

"Use a Public Variable" ; that's a viable means indeed.

There appears to be no alternative means (good try aside, but in vain)
to daisy-chain arguments to the following statement,

Application.OnTime Now + TimeValue("00:00:5"), "my_Procedure" & <Daisy-
Chain of Arguments>

Regards.
 
J

Joel

You can make the public variable an array like

Public arg(5) as Variant

Sub Main()

arg(0) = "Hello"
arg(1) = "World"
arg(2) = "Goodbye"
arg(3) = "Joel"
arg(4) = 123
Application.OnTime Now + TimeValue("00:00:5"), "my_Procedure"

End Sub

Sub my_Procedure()

'enter yor code here

End Sub


The above example is very similar to the way Unix, and C language pass
parameters except instead of make the vaiable Publid the variable are pushed
onto a calling stack.
 
Top