An easy error to cure, especially if you count the Char: number. Naturally, start at the beginning of the
line referenced in the error message. Solving 800A0409 really is that easy.
Introduction to error Code 800A0409
This
error code, 800A0409 usually occurs when you execute a VBScript. Most
likely you have left out a closing speech mark or bracket.
The Symptoms you get
Windows Scripting host generates a message box like this. The script does not execute as you
would have hoped. A possible scenario is that you are trying to
create a Windows logon script.
The Cause of Error 800A0409
Your VBScript lacks a closing punctuation mark at the end of a line.
If I could emphasise, look at the end of the line not the beginning. To help you, pay close attention to the Char: number, in my example, 57. One nasty variation of Error 800A0409 is where you mix up single and double quote
marks.
Source: Microsoft VBScript compilation error, which means it a syntax
error in your script, rather than a runtime error.
The Solution
Check the syntax of your script, particularly for closing statements,
speech marks or brackets. Look for clues, count all the lines including
blank lines and 'REM lines. In this example the problem is at Line:2.
In this case the Char: number (57) is particularly useful for identifying the
missing speech mark.
If you are still stuck then a good script editor really would help this type of problem because it color codes the commands. Free download of OnScript.
Example Script for error 800A0409
Set WshNetwork = WScript.CreateObject("WScript.Network) Missing
speech mark
Set WshNetwork = WScript.CreateObject("WScript.Network") Corrected
version
Set WshShell = WScript.CreateObject("WScript.Shell")
Set WshNetwork = WScript.CreateObject("WScript.Network)
Set AllDrives = WshNetwork.EnumNetworkDrives()
DriveLetter = "N:" 'must be capitalized
RemotePath = "\\alan\home"
AlreadyConnected = False
For i = 0 To AllDrives.Count - 1 Step 2
If AllDrives.Item(i) = DriveLetter Then AlreadyConnected = True
Next
If AlreadyConnected = False then
WShNetwork.MapNetworkDrive DriveLetter, RemotePath
WshShell.PopUp "Drive " & DriveLetter & " connected oK."
Else
WShNetwork.RemoveNetworkDrive DriveLetter
WshShell.PopUp "Drive " & DriveLetter & " disconnected."
End if
Guy Thomas recommends
Computer Training Software. 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.
Do you have a good example of this error?
If so, then email me I will publish it with a credit to you: