Невозможно распечатать вывод vbscript на веб-странице и не удается сохранить вывод vbscript в текстовом файле

#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 в качестве своего браузера.