kkbenj
asked on
VBScript WScript error
I originally had this code as a Sub within another VBScript and it functioned correctly.
But now I need it as a standalone script at get this runtime error:
Object doesn't support this property or method: WScript.Arguments
So I have left something out to be able to correctly receive the command line arguments. Can anyone please point out my error(s)?
But now I need it as a standalone script at get this runtime error:
Object doesn't support this property or method: WScript.Arguments
So I have left something out to be able to correctly receive the command line arguments. Can anyone please point out my error(s)?
''Sub SendIt(ByVal msgType, ByVal strSubject, ByVal strMessage)
Dim myShell
Dim myProcEnv
Set myShell = CreateObject("WScript.Shell")
Dim msgType : WScript.Arguments(0)
Dim strSubject : WScript.Arguments(1)
Dim strMessage : WScript.Arguments(2)
Dim jm : jm=False
If (ucase(GetXMLText("Email\Enabled"))="TRUE") and GetXMLText("Email\SMTP")<> "" Then
SetXMLText "Email\Enabled" , "True"
jm=True
Else
SetXMLText "Email\Enabled" , "False"
jm=False
'Exit Sub
Response.End
End If
Dim Recipients : Recipients=0
on error resume next
Dim xmlDoc ' Main XML document
Set xmlDoc = GLOBAL_GetXMLDoc
Dim mainNode ' Main XML document
Recipients = xmlDoc.getElementsByTagName("Email").item(0).getElementsByTagName("Recipient").Length
If Recipients = 0 Then
On Error Goto 0
'Exit Sub
Response.End
End If
Dim fullMessage : fullMessage = ""
fullMessage = fullMessage & GetXMLText("Email\EmailPrefix") & vbCrlf & vbCrlf
Dim sType
Select Case ucase(msgType)
Case "SUCCESS" : fullMessage = fullMessage & GetXMLText("Email\EmailSuccessMessage") : sType = "Success"
Case "FAILURE" : fullMessage = fullMessage & GetXMLText("Email\EmailFailureMessage") : sType = "Failure"
Case "STATUS" : fullMessage = fullMessage & GetXMLText("Email\EmailStatusMessage") : sType = "Status"
Case Else : fullMessage = fullMessage & "<Invalid Message Type>"
End Select
fullMessage = fullMessage & vbCrlf & vbCrlf & strMessage & vbCrlf & vbCrlf
fullMessage = fullMessage & GetXMLText("Defaults\EmailSuffix") & vbCrlf & vbCrlf
Dim jmail
If jm Then
Set jmail = CreateObject("JMail.Message")
jmail.silent=true
jmail.logging=true
jmail.from = xmlDoc.getElementsByTagName("Email").item(0).getElementsByTagName("From").item(rCtr).getattribute("Address")
jmail.fromname = xmlDoc.getElementsByTagName("Email").item(0).getElementsByTagName("From").item(rCtr).getattribute("name")
End If
' for each email address in MAIN DEFAULTS
' for each email address in EMAIL.RECIPIENT
Dim rCtr : rCtr=0
Do While rCtr < Recipients
If xmlDoc.getElementsByTagName("Email").item(0).getElementsByTagName("Recipient").item(rCtr).getattribute(sType)="True" Then
If jm Then jmail.AddRecipient xmlDoc.getElementsByTagName("Email").item(0).getElementsByTagName("Recipient").item(rCtr).getattribute("Address")
End If
rCtr = rCtr + 1
Loop
If jm Then
jmail.subject = strSubject
jmail.body = fullMessage
If objFSO.FileExists(replog) then
jmail.AddAttachment replog
End If
jmail.send( GetXMLText("Email\SMTP") )
End If
' Clean up...
Set jmail=Nothing
'''End Sub
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks for the clarity.