#html #xml #vbscript
#HTML #xml #vbscript
Вопрос:
Привет
Я хочу распечатать вывод vbscript на веб-страницу и сохранить его в блокноте с помощью vbscript.
Это мой HTML-код с vbscript.
<html>
<body>
<SCRIPT LANGUAGE="VBScript">
Const XMLDataFile = "D:Automationimpp.xml"
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.Async = False
xmlDoc.Load(XMLDataFile)
xmlDoc.validateOnParse = True
If xmlDoc.Load(XMLDataFile) Then
Document.write("SUCCESS loading XML File")
Else
Document.write("ERROR loading XML File")
End If
counter=0
Set root = xmlDoc.documentElement
Set items = root.childNodes
for each item in items
myPNAME = xmlDoc.getElementsByTagName("PNAME").item(counter).text
myPTYP = xmlDoc.getElementsByTagName("PTYP").item(counter).text
myPGROUP = xmlDoc.getElementsByTagName("PGROUP").item(counter).text
If (Left(myPNAME, 1) = "I") Then
IsValid = True
If (Left(myPTYP, 1) <> "I") Then
IsValid = False
End If
If (Left(myPGROUP, 1) <> "I" )Then
IsValid = False
End If
If IsValid = False Then
Document.write(myPNAME amp; " is not valid.")
End If
IsValid = True
End If
If (Left(myPNAME, 1) = "V") Then
IsValid = True
If (Left(myPTYP, 1) <> "V") Then
IsValid = False
End If
If (Left(myPGROUP, 1) <> "V" )Then
IsValid = False
End If
If IsValid = False Then
Document.write(myPNAME amp; " is not valid.")
End If
IsValid = True
End If
If (Left(myPNAME,1) = "E") Then
If (Left(myPNAME,5)="E_MSG")Then
IsValid=false
End if
IsValid = True
If (Left(myPTYP, 1) <> "E") Then
IsValid = False
End If
If (Left(myPGROUP, 1) <> "E" )Then
IsValid = False
End If
If IsValid = False Then
Document.write(myPNAME amp; " is not valid.")
End If
IsValid = True
End If
If (Left(myPNAME,2) = "IT") Then
IsValid = True
If (Left(myPTYP, 1) <> "I") Then
IsValid = False
End If
If (Left(myPGROUP, 1) <> "I" )Then
IsValid = False
End If
If IsValid = False Then
Document.write(myPNAME amp; " is not valid.")
End If
IsValid = True
End If
If (Left(myPNAME,2) = "VT") Then
IsValid = True
If (Left(myPTYP, 1) <> "V") Then
IsValid = False
End If
If (Left(myPGROUP, 1) <> "V" )Then
IsValid = False
End If
If IsValid = False Then
Document.write(myPNAME amp; " is not valid.")
End If
IsValid = True
End If
If (Left(myPNAME,1) = "IS") Then
IsValid = True
If (Left(myPTYP, 1) <> "I") Then
IsValid = False
End If
If (Left(myPGROUP, 1) <> "I" )Then
IsValid = False
End If
If IsValid = False Then
Document.write(myPNAME amp; " is not valid.")
End If
IsValid = True
End If
If (Left(myPNAME,2) = "VS") Then
IsValid = True
If (Left(myPTYP, 1) <> "V") Then
IsValid = False
End If
If (Left(myPGROUP, 1) <> "V" )Then
IsValid = False
End If
If IsValid = False Then
Document.write(myPNAME amp; " is not valid.")
End If
IsValid = True
End If
counter=counter 1
next
</SCRIPT>
</body>
</html>
Пожалуйста, предоставьте решение о том, как отобразить вывод vbscript на веб-странице и как сохранить вывод в блокноте.
Заранее благодарю.
Комментарии:
1. Это ваш код? Потому что похоже, что вы уже используете
Document.Write()
, то есть как вы выводите на страницу. Для сохранения в текстовый файл ознакомьтесь сFileSystemObject
и егоCreateTextFile
методом.2. Да, это мой код. Когда я заменяю метод Document.write() на MsgBox () в выводе vbscript отображается в соответствии с моими ожиданиями, но когда я пытаюсь выполнить тот же вывод на веб-странице с помощью Document.write(), я не могу отобразить вывод. Я использую Internet Explorer в качестве своего браузера.
3. Vbscript использует response.write, а не document.write
Ответ №1:
Добрый день
Во-первых, вы тестируете это в Internet Explorer? Вы должны.
Во-вторых, вы должны попробовать что-то более простое, например, открыть текстовый файл и просто распечатать вывод.
Вот пример кода, я добавил ТИП (в определение сценария), и теперь он выводит:
<HTML>
<HEAD><TITLE>A Simple First Page</TITLE>
<SCRIPT LANGUAGE="VBScript" type="text/VBScript">
<!--
document.Write("Please don't click me")
Sub Button1_OnClick
MsgBox "Mirabile visu."
document.Write("<b>Hello World</b>")
End Sub
-->
</SCRIPT>
</HEAD>
<BODY>
<H3>A Simple First Page</H3><HR>
<FORM><INPUT NAME="Button1" TYPE="BUTTON" VALUE="Click Here"></FORM>
</BODY>
</HTML>
Если вы ищете информацию о том, как сохранить выходные данные в текстовый файл, ознакомьтесь с руководством по VBScript .
http://msdn.microsoft.com/en-us/library/sx7b3k7y (v= против 84).aspx
Запись в текстовый файл будет выглядеть примерно так, но имейте в виду, что при попытке выполнить вы можете столкнуться с проблемами безопасности (может потребоваться олицетворение).
Const FOR_READING = 1
Const FOR_WRITING = 2
strFileName = "C:scriptstest.txt"
strNewContent = "sample string content"
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objTS = objFS.OpenTextFile(strFileName,FOR_READING)
strContents = objTS.ReadAll
objTS.Close
Set objTS = objFS.OpenTextFile(strFileName,FOR_WRITING)
objTS.WriteLine strNewContent
objTS.Write strContents
Комментарии:
1. Когда я заменяю метод Document.write() на MsgBox () в выводе vbscript отображается в соответствии с моими ожиданиями, но когда я пытаюсь выполнить тот же вывод на веб-странице с помощью Document.write(), я не могу отобразить вывод. Я использую Internet Explorer в качестве своего браузера.