PDA

Vollständige Version anzeigen : Wer kann mir weiter helfen bei VB-Script


Ivonne
20.06.2001, 17:17
Hi to all,

Ich habe ein Problem, wie soll ich eine Sub bzw. Eine Function (in VB-Script) aufrufen, innerhalb von htm / html.

Wenn ich in VB oder VBA bin, gehe ich (z. B. einem Commandbutton) mit Click drauf und habe eine Sub.

Arbeite ich nur in html dann arbeite ich ja mit a href wenn ich eine andere Seite aufrufe.

Nur wie binde ich bei einem Button in html einen Aufruf für eine Sub oder für eine Function ein ?

Gruß
Ivonne

Stefan Kulpa
21.06.2001, 06:33
<font face="Verdana" size="2">Hallo,

das geht wie folgt:</font>

<PRE><FONT SIZE=1 FACE=Courier New><FONT COLOR=#000080>Dim</FONT> WSHShell <FONT COLOR=#008000>'** Variablen setzen</FONT>
<FONT COLOR=#000080>Dim</FONT> oIE
<FONT COLOR=#000080>Dim</FONT> Flag
<FONT COLOR=#000080>Dim</FONT> path
<FONT COLOR=#000080>Dim</FONT> Title
<FONT COLOR=#000080>Dim</FONT> Text2
<FONT COLOR=#000080>Dim</FONT> i, j
<FONT COLOR=#000080>Dim</FONT> result1, result2

Title = "WSH-Beispiel"
Text2 = "Ihre Eingabe war:" + vbCrLf
<FONT COLOR=#008000>'** Ermittle den Pfad zum Skript, da die Formulardatei</FONT>
<FONT COLOR=#008000>'** (HTML) im gleichen Ordner liegen muss!!!</FONT>
path = WScript.ScriptFullName
path = Left(path, InStrRev(path, "\"))
<FONT COLOR=#008000>'** starte den Internet Explorer ***</FONT>
<FONT COLOR=#000080>Set</FONT> oIE = WScript.CreateObject("InternetExplorer.Application")
oIE.Left = 50 <FONT COLOR=#008000>'** Fensterposition</FONT>
oIE.Top = 100 <FONT COLOR=#008000>'** und andere Eigenschaften</FONT>
oIE.Height = 200
oIE.Width = 350
oIE.menubar = 0 <FONT COLOR=#008000>'** Kein Menü</FONT>
oIE.toolbar = 0
oIE.statusbar = 0
<FONT COLOR=#008000>'** oIE.resizable = 0 '** Verhindert Größenänderung</FONT>
oIE.navigate path + "Form1.htm" <FONT COLOR=#008000>'** Formulardokument</FONT>
oIE.Visible = 1 <FONT COLOR=#008000>'** sichtbar machen</FONT>
<FONT COLOR=#008000>'** Wichtig: Warte, bis MSIE bereit ist</FONT>
<FONT COLOR=#000080>Do</FONT> <FONT COLOR=#000080>While</FONT> (oIE.Busy)
<FONT COLOR=#000080>Loop</FONT>
<FONT COLOR=#008000>'** Jetzt warten, bis der Benutzer auf die OK-Schaltfläche</FONT>
<FONT COLOR=#008000>'** im Formular klickt. Hierzu wird die Funktion CheckVal benutzt.</FONT>
<FONT COLOR=#000080>Do</FONT> <FONT COLOR=#008000>'** Warte auf Resultat</FONT>
<FONT COLOR=#000080>Loop</FONT> <FONT COLOR=#000080>While</FONT> (oIE.Document.script.CheckVal() = 0)
<FONT COLOR=#008000>'** Der Benutzer hat die OK-Schaltfläche angeklickt, hole Werte.</FONT>
result1 = "Wert1: " + oIE.Document.script.GetValue(1)
result2 = "Wert2: " + oIE.Document.script.GetValue(2)
MsgBox Text2 + vbCrLf + result1 + vbCrLf + result2, _
vbOKOnly + vbInformation, Title
oIE.Quit <FONT COLOR=#008000>'** Internet Explorer schließen</FONT>
<FONT COLOR=#000080>Set</FONT> oIE = <FONT COLOR=#000080>Nothing</FONT> <FONT COLOR=#008000>'** Objektvariable zurücksetzen</FONT>
WScript.Quit <FONT COLOR=#008000>'** Fertig</FONT>
<FONT COLOR=#008000>'*** Ende</FONT>
</FONT></PRE>

<font face="Verdana" size="2">wobei hier eine Form1.htm aufgerufen wird, die u.a. einen Button beinhaltet.

HTH

P.S.: Das Beispiel entstammt dem Buch Inside Windows Script Host 2. Auflage von Günter Born;
Microsoft Press, ISBN 3-86063-616-2 (sehr zu empfehlen) ...</font>