When you get
Error code 800A03F2 concentrate on the Line: number and especially the Char: number. Once you trace the line and position, you should be able to identify the problem. A wild guess is there is an extra full stop.
The Symptoms you get
The script does not execute as you hoped, instead you get a WSH error message.
The Cause of Error 800A03F2
Your VBScript contain is missing a character. Note: the clue
'Source: Microsoft VBScript compilation error'. My point is that 'compilation error' and not a 'runtime error', means this is a syntax error in
your script.
Another cause is because VBS does not support the Optional statement for Subs and Functions. See example 3.
The Solution to Expected Identifier
This is a syntax error, therefore check for a missing argument. In my example, Windows
Scripting Host is telling us that the problem is at Line:
3, count blank lines and lines with remarks. In this case
the Char: number (73), is very useful in tracing the error. Something
is wrong with the syntax at the end of the line 3.
Example 1 of Code 800A03F2 error
Note: The Line: 6 Char 34 , .T.)
It should be , True)
DIM fso, gf
Set fso = CreateObject("Scripting.FileSystemObject")
Set gf = fso.CreateTextfile("e:\Ezine\Scripts\ezine12\guyfileb.txt", .T.)
gf.WriteLine("hello guy 1, 2, 3.")
gf.WriteBlankLines 2
gf.Write ("This is a test.")
gf.Close
WScript.Echo strDriveLetter & " drive is mapped to " & strUncPath.
Here is the tiniest of errors, an unwanted full stop (period) after
strUncPath.
' BudgetPear.vbs
' Script to map the Budget share on the server pear
' Version 1.1 August 2004
' Guy Thomas http://computerperformance.co.uk
Option Explicit
Dim objNetwork
Dim strDriveLetter, strUncPath
strDriveLetter = "R:"
strUncPath = "\\alan\backup"
Set objNetwork = CreateObject("Wscript.Network")
objNetwork.MapNetworkDrive strDriveLetter, strUncPath WScript.Echo strDriveLetter & " drive is mapped to " & strUncPath. WScript.Quit
' End of Guy's Error 800A03F2 script
Example 3 Optional Statement Problem
Kindly sent in by Robert Dunham
Here, the 800A03F2 is raised because VBS does not support the Optional statement for Subs and Functions and was expecting a valid variable name. Here's the code sample:
Call echoComment Sub echoComment(Optional strComment = "") If strComment <> "" Then Wscript.Echo strComment End Sub
This error would also be raised for an
incorrectly spelled byVal or byRef statement.
While this is very similar to your first example, I wanted to point out that this error can happen during declaration as well. The above example would be
very common for those who are used to standard VB programming.
Try
a different solution, download SolarWinds ipMonitor
Here is my thinking,
ipMonitor will give you valuable data about your network and servers.
This extra information just may unlock the solution to your error code.
One more thing, sometimes when troubleshooting you go around in circles;
therefore if you try a different, but related approach, you may just crack the
problem.
Free Download
of SolarWinds ipMonitor
Their topics and material are ideal for getting you started with VBScript. The
videos are easy to follow and you can control the pace. Try their free demo material and then see if you want to buy the full package.
See more about VB Script Training CD.