Vinzenz Mai: VBScript in html einbinden und per Button ausführen

Beitrag lesen

Hallo

Niemand da der mir helfen kann? :'-(

Folgender Code öffnet bei mir die von mir gewünschte Word-Datei:
Voraussetzungen:
 - Site befindet sich in der Liste der vertrauten Sites.
 - Die Ausführung von für das Skripting unsicherer ActiveX-Objekte
   steht mindestens auf "Bestätigen"

  
<html>  
<title>test</title>  
<head>  
<script type="text/vbscript">  
[code lang=vbscript]  
function teste()  
    Dim xml  
    Dim datei  
    Dim word  
  
    On Error Resume Next  
  
    ' Das Erzeugen dieses Objektes kann fehlschlagen,  
    ' damit müssen wir rechnen  
    Set xml = CreateObject("msxml2.domdocument")  
  
    ' Hat's geklappt  
    If Err.Number > 0 Then  
        ' Erzeugen des Objekts war nicht erfolgreich,  
        ' Gebe die Fehlernummer und -beschreibung aus  
        MsgBox "Konnte das MSXML2.DOMDocument-Objekt nicht erzeugen" & chr(10) & chr(13) & _  
        Err.Number & chr(10) & chr(13) & _  
        Err.Description  
  
        ' Wir brauchen nicht weiter zu machen und verlassen die Funktion  
        Exit Function  
    End If  
  
    ' Verarbeitung der XML-Datei hab ich weggelassen, hatte keine :-)  
  
    Set word = CreateObject("Word.Application")  
    ' Hat's geklappt  
    If Err.Number > 0 Then  
        ' Erzeugen des Objekts war nicht erfolgreich,  
        ' Gebe die Fehlernummer und -beschreibung aus  
        MsgBox "Konnte das Word-Objekt nicht erzeugen" & chr(10) & chr(13) & _  
            Err.Number & chr(10) & chr(13) & _  
            Err.Description  
  
        ' Wir brauchen nicht weiter zu machen und verlassen die Funktion  
 Exit Function  
    End If  
  
    word.visible = True  
  
    ' Auch das Öffnen einer Datei kann fehlschlagen  
    Set datei = word.documents.open("\\192.168.2.33\www\test.doc")  
    ' ... und muss im Anschluss überprüft werden  
  
    ' Du könntest das wie folgt prüfen:  
    If datei is Nothing Then  
        MsgBox "Datei konnte nicht geöffnet werden"  
    End If  
  
    ' ... nur um festzustellen, dass das Error-Objekt gefüllt ist.  
    ' was Dir spätere Fehlerprüfungen erschweren könnte ...  
    If Err.Number > 0 Then  
        ' Erzeugen des Objekts war nicht erfolgreich,  
        ' Gebe die Fehlernummer und -beschreibung aus  
        MsgBox "Konnte die Worddatei nicht öffnen" & chr(10) & chr(13) & _  
            Err.Number & chr(10) & chr(13) & _  
            Err.Description  
  
        ' Wir brauchen nicht weiter zu machen und verlassen die Funktion  
        Exit Function  
    End If  
  
    ' Wenn wir hier angelangt sind, ist die Datei erfolgreich geöffnet -  
    ' und Du kannst nun anfangen, z.B. die Textfelder zu aktualisieren ...  
  
End Function  

</script>

</head>
<body>

<input type="button" value="testbutton" onClick="teste()">

</body>
</html>
[/code]

Der Versuch mit

GetObject("Pfad\zu\Datei")

eine Wordinstanz zu öffnen, schlug jeweils fehl. Deswegen ist es wichtig, eine
Fehlerbehandlung einzubauen. Allerdings solltest Du eher wie auf meiner
Testseite die Fehlernummer und -beschreibung einer allgemeinen Funktion
übergeben statt überall direkt eine angepasste Fehlermeldung in den Quelltext
zu schreiben - wie ich es hier der Einfachheit halber getan habe.

Freundliche Grüße

Vinzenz