Solved

InnertHTML Issue with recognizing tags

Posted on 2009-05-05
4
323 Views
Last Modified: 2012-05-06
Hi guys,
I have an issue with tr and td tags not being recognized.The following code does not seem to recognize the tr and td tags, so im not quite getting the formatting in a table properly.
Im not sure if this is because of the way the Results.InnerHTML is set?
Any help greatly appreciated.
<head>

<title>Enumerate Service Pack on Remote Computers</title>

<HTA:APPLICATION 

     APPLICATIONNAME="Enumerate Service Pack on Remote Computers"

     SCROLL="yes"

     SINGLEINSTANCE="yes"

     WINDOWSTATE="normal"

>

<style type="text/css">

 

html {

font-family:arial;

font-size:smaller;

 

}

 

table {

border-collapse:collapse;

border:solid 1px black;

font-family:arial;

font-size:0.8em;

}

 

tr, td, th {

border-collapse:collapse;

border-style:solid;

}

 

td { border-width: 1px; }

 

 

</style>

 

 

</head>

<script language="vbscript">

Sub Window_onLoad

	intWidth = 600

	intHeight = 480

	Me.ResizeTo intWidth, intHeight

    Me.MoveTo ((Screen.Width / 2) - (intWidth / 2)),((Screen.Height / 2) - (intHeight / 2))

End Sub

 

Sub GetServicePack

	run_button.disabled = True

	ComputerListFile.disabled = True

	Const ForReading = 1

	Const ForWriting = 2

	Set objFSO = CreateObject("Scripting.FileSystemObject")

	If ComputerListFile.Value <> "" Then

		If objFSO.FileExists(ComputerListFile.Value) = True Then

			Set List = objFSO.OpenTextFile(ComputerListFile.Value, ForReading)

			

			Results.InnerHTML = ""

			Results.InnerHTML = Results.InnerHTML &"<table width='40%' border=1 bgcolor='white'><th style='background:c0c0c0'>" & "<b>System</b>" & "</th><th style='background:c0c0c0'>" & _

			"<b>Service Pack</b>"

 

			Do Until List.AtEndOfStream

				strComputer = List.ReadLine

				If Ping(strComputer) Then

 

					Set objWMIService = GetObject("winmgmts:" _

					& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

					Set colSpack = objWMIService.ExecQuery _

					("Select * from Win32_OperatingSystem")

					For Each objSpack in colSpack

						strSpack = objSpack.ServicePackMajorVersion

					Next

 

					Results.InnerHTML =  Results.InnerHTML &"<tr><td width='40%' border=1>" &strComputer &"</td><td>" &strSpack &"</td></tr><br>"

 

					'Results.InnerHTML =  Results.InnerHTML & "<tr><td>" & strComputer & "</td><td>" & strSpack & "</td></tr>"

 

				Else

 

					Results.InnerHTML =  Results.InnerHTML &"<tr><td>"& strComputer & "</td><td style='background:black'><font color='red'>Unreachable</font></td></tr><br>"

					

				End If

			Loop

Results.InnerHTML =  Results.InnerHTML &"</table>"

			List.Close	

			

			'Results.InnerHTML =  Results.InnerHTML &"</table>"

		Else

			MsgBox "File does not exist: " & ComputerListFile.Value

		End If

	Else

		MsgBox "Please specify a file name."

	End If

	run_button.disabled = False

	ComputerListFile.disabled = False

 

End Sub

	

Function Ping(strComputer)

	Dim objShell, boolCode

	Set objShell = CreateObject("WScript.Shell")

	boolCode = objShell.Run("Ping -n 1 -w 300 " & strComputer, 0, True)

	If boolCode = 0 Then

		Ping = True

	Else

		Ping = False

	End If

End Function

 

</script>

 

<body>

<input type="button" value="Get Service Pack" name="run_button" onClick="GetServicePack">

<input type="file" name="ComputerListFile"> <br><br>

<span id = "Results"></span>

</body>

</html>

Open in new window

0
Comment
Question by:Simon336697
  • 3
4 Comments
 
LVL 14

Expert Comment

by:rejoinder
ID: 24308213
Please give this a try...
<head>

<title>Enumerate Service Pack on Remote Computers</title>

<HTA:APPLICATION 

     APPLICATIONNAME="Enumerate Service Pack on Remote Computers"

     SCROLL="yes"

     SINGLEINSTANCE="yes"

     WINDOWSTATE="normal"

>

</head>

<script language="vbscript">

Sub Window_onLoad

    intWidth = 600

    intHeight = 480

    Me.ResizeTo intWidth, intHeight

    Me.MoveTo ((Screen.Width / 2) - (intWidth / 2)),((Screen.Height / 2) - (intHeight / 2))

End Sub

 

Sub GetServicePack

    run_button.disabled = True

    ComputerListFile.disabled = True

    Const ForReading = 1

    Const ForWriting = 2

    Set objFSO = CreateObject("Scripting.FileSystemObject")

    If ComputerListFile.Value <> "" Then

        If objFSO.FileExists(ComputerListFile.Value) = True Then

            Set List = objFSO.OpenTextFile(ComputerListFile.Value, ForReading)

            strHTML = "<table width=40% border=1 bgcolor=""white""><tr><td style=""background:c0c0c0""><b>System</b></td><td style=""background:c0c0c0""><b>Service Pack</b></td></tr>"

            Do Until List.AtEndOfStream

                strComputer = List.ReadLine

                If Ping(strComputer) Then

                    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

                    Set colSpack = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")

                    For Each objSpack in colSpack

                        strSpack = objSpack.ServicePackMajorVersion

                    Next

                    strHTML = strHTML & "<tr><td>" & strComputer & "</td><td>" & strSpack & "</td></tr>"

                Else

                    strHTML = strHTML & "<tr><td>" & strComputer & "</td><td style=""background:black""><font color=""red"">Unreachable</font></td></tr>"

                End If

            Loop

            Results.InnerHTML = strHTML &"</table>"

msgbox Results.InnerHTML

            List.Close

        Else

            MsgBox "File does not exist: " & ComputerListFile.Value

        End If

    Else

        MsgBox "Please specify a file name."

    End If

    run_button.disabled = False

    ComputerListFile.disabled = False

End Sub

	

Function Ping(strComputer)

    Dim objShell, boolCode

    Set objShell = CreateObject("WScript.Shell")

    boolCode = objShell.Run("Ping -n 1 -w 300 " & strComputer, 0, True)

    If boolCode = 0 Then

        Ping = True

    Else

        Ping = False

    End If

End Function

 

</script>
 

<style type="text/css">

html {font-family:arial;font-size:smaller;}

table {border-collapse:collapse;border:solid 1px black;font-family:arial;font-size:0.8em;}

tr, td, th {border-collapse:collapse;border-style:solid;}

td { border-width: 1px; }

</style>

<body>

<input type="button" value="Get Service Pack" name="run_button" onClick="GetServicePack">

<input type="file" name="ComputerListFile"> <br><br>

<span id="Results" name="Results"></span>

</body>

</html>

Open in new window

0
 
LVL 14

Accepted Solution

by:
rejoinder earned 500 total points
ID: 24308227
Please remove line 42;
msgbox Results.InnerHTML
I was using that to test some things out.
0
 
LVL 1

Author Comment

by:Simon336697
ID: 24322280
thanks so much rejoinder.
0
 
LVL 14

Expert Comment

by:rejoinder
ID: 24322316
Glad to help out and thanks for the points :-)
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Welcome, welcome!  If you are new to the series and haven't been following along, please take a brief moment to review the first three installments: Part 1 (http://www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Script/A_266-VBScri…
Well hello again!  Glad to see you've made it this far without giving up.  In this, the fourth installment of my popular series, I'm going to cover functions and subroutines, what they are, and why they are useful.  Just in case you stumbled onto th…
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now