Skip to content
View in the app

A better way to browse. Learn more.

MSFN

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

VBScript - Writing Func/Sub that can take 0 or 1 args?

Featured Replies

I was wondering if there was some way that I can write a function or sub that can be called with or without arguments?

I specifically want to be able to write a func/sub that can either accept 1 or 0 arguments and then handle that inside the func/sub to respond differently.

I suspect that the best I can do is pass in an empty string, but I'd be happy to hear anyone's wisdom on this?

What about something like this?

set Args = Wscript.Arguments
If Args.Count < 1 Then
Do Something
Else do differently

<Edit>

I've just re-read your request and your looking for arguments to a function or sub.

There is no method for this only workarounds. Being primarily a batch man my suggestion would be to pass an array and use logic to allocate variables from there.

Example:
somesub Array(13, 23, somevar)


sub somesub(aArgs)

if IsArray(aArgs) then

x = aArgs(0)

if Ubound(aArgs) > 0 y = aArgs(1)

if Ubound(aArgs) > 1 a = aArgs(2)

if Ubound(aArgs) > 2 b = aArgs(3)

Else

x = aArgs

End if

End sub

</Edit>

With not much info here is a demo I made for you.

Save as Arg.vbs

 Dim Fso : Set Fso = CreateObject("Scripting.FileSystemObject")
Dim DelFile
If Wscript.Arguments.Count = 0 Then
WScript.Echo "This Needs A File To Be Drop" & vbCrLf & _
"And Drop On To This Script."
Else
For Each DelFile in Wscript.Arguments : Fso.DeleteFile(DelFile) : Next
End If

  • Author

Sorry guys, you seem to have misunderstood me, I'm not talking about WScript.Arguments as in arguments to the script itself, but actually a function within a script that I'd like to be able to call with either one parameter, "a message string", or no parameters, in which case the function would behave slightly differently.

I suspect that I cannot call a func/sub defined with one arg without any args and that I must pass an empty string to do this

  • 3 weeks later...

Well, with PHP you can do the following....

<?php
function someFunction($messageString = null)
{
if($messageString != null)
{
//Do something
}
else
{
//Do something else with user defined $messageString
}
}
?>

Is this not possible? Maybe by specifing a default value?

  • Author

err, that's that question, can you do something like that in VBScript?

So far, I haven't found an answer, you have to pass in the predefined number of parameters to every function call (unless you pass in an array), you can't have it take 0 or 1 parameters it seems.

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.