Code Error 800A0409 – Unterminated String Constant

Troubleshooting Code 800A0409 – Unterminated string constant

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 Code 800A0409 - Error Unterminated string constant

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

If AlreadyConnected = False then
WShNetwork.MapNetworkDrive DriveLetter, RemotePath
WshShell.PopUp "Drive " & DriveLetter & " connected oK."

WShNetwork.RemoveNetworkDrive DriveLetter
WshShell.PopUp "Drive " & DriveLetter & " disconnected."
End if


See More Windows Update Error Codes 8004 Series

Error 800A101A8 Object Required   •Error 800A0046   •Error 800A10AD   •Error 800A000D

Error 80048820   •Error 800A0401   •Review of SolarWinds Permissions Monitor

Error 80040E14   • Error 800A03EA   • Error 800A0408   • Error 800A03EE

Solarwinds Free WMI MonitorGuy Recommends: WMI Monitor and It’s Free!

Windows Management Instrumentation (WMI) is one of the hidden treasures of Microsoft operating systems.  Fortunately, SolarWinds have created the WMI Monitor so that you can examine these gems of performance information for free.  Take the guess work out of which WMI counters to use for applications like Microsoft Active Directory, SQL or Exchange Server.

Download your free copy of WMI Monitor

Do you need additional help?

Give something back?

Would you like to help others?  If you have a good example of this error, then please email me, I will publish it with a credit to you:

If you like this page then please share it with your friends