## Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

• Help others & share knowledge
• Earn cash & points
Solved

# How do I compare numbers in VBscript

Posted on 2010-09-01
1,009 Views
All,

I am not a programmer and I did find the following code from here which I modified a little.
I am using the script to calculate if it's the last day of the month.   When I run the script without
the IF statement I can display today's day for example 31 and tommrow 01.  But when I compare with the IF statement I don't get the results.

Thanks
``````' Calculate tomorrow's date

If DatePart("d",dtmTomorrow) < 10 Then
Tomorrow = 0 & DatePart("d",dtmTomorrow)
Else
Tomorrow = DatePart("d",dtmTomorrow)
End If

' Format output for tomorrow
strTomor = "Tomorrow:   " & Tomorrow &"  "

If DatePart("d",Date) < 10 Then
Today = 0 & DatePart("d",Date)
Else
Today = DatePart("d",Date)
End If

' Format output for today
strToday = "Today:      " & Today _
& "  " & vbCrLf

' Display the result
if Tomorrow < Today  then Wscript.Echo ( End Of Month )
``````
0
Question by:SyFy
• 3
• 2
• 2
• +2

LVL 18

Accepted Solution

exx1976 earned 125 total points
ID: 33578907
If all you want is to know if today is the last day of the month...
``````If Month(Now) <> Month(Now + 1) Then WScript.Echo "Today is the last day of the month"
``````
0

LVL 10

Assisted Solution

ALaRiva earned 125 total points
ID: 33578911
Just off the top, try:
If Tomorrow < Today  Then Wscript.Echo ("End Of Month")

End of the Month is a string, so you would need to enclose it in quotes, unless it were a variable, but seeing the spaces, I'm assuming that it was supposed to be a string since you can't have spaces in variables.

- Anthony
0

LVL 67

Expert Comment

ID: 33579120
I think it has to do with your trailing line feed...
try this code - modified slightly to reduce some additional logic.
``````' Calculate tomorrow's date

Tomorrow = Right("0" & DatePart("d",dtmTomorrow),2)

' Format output for tomorrow
strTomor = "Tomorrow:   " & Tomorrow & "  "

Today = Right("0" & DatePart("d",Date),2)

' Format output for today
strToday = "Today:      " & Today & "  "

' Display the result
if Tomorrow < Today  then Wscript.Echo " End Of Month "
``````
0

LVL 18

Expert Comment

ID: 33579167
Really?  No one likes my one line of code that accomplishes the same thing?  :(

LOL
0

LVL 10

Expert Comment

ID: 33579203
exx1976,
I assumed the user needed the other variables for future use, or because he is learning the code, and something with more options and more learning would be of benefit to him.

Your line does it quickly, I just assumed he wanted the other values for future use.

- Anthony
0

LVL 6

Expert Comment

ID: 33579321
Hi exx1976.
I liked your line of code and I have added it to the "Snippets" on my VBSedit. :-)

0

Author Comment

ID: 33579378
Thanks guys,  I am new to programming so both options are really great for learning . Now that we can determine if it's the last day of the month,  what would be the code to run a batch file from this VBscript.
I tried using "call c:\run.bat"  after the IF statement but got an error.

Thanks
SyFy
0

LVL 18

Expert Comment

ID: 33579415
Set oWS = CreateObject("WScript.Shell")
oWS.Run("c:\run.bat")

I'd just convert the bat commands into VBS though, personally..
0

Author Closing Comment

ID: 33579573
Thanks everyone !
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

### Suggested Solutions

In this article we want to have a look at the directory attributes which are used by Microsoft to store the so called Security Identifiers (SID). These SIDs plays an important role in delegating and granting permissions and in authentication of trus…
With User Account Control (UAC) enabled in Windows 7, one needs to open an elevated Command Prompt in order to run scripts under administrative privileges. Although the elevated Command Prompt accomplishes the task, the question How to run as script…
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…