http://dieseyer.de • all rights reserved • © 2011 v11.4
'*** v8.4 *** www.dieseyer.de *******************************
'
' Datei: ProzedurInTxt.vbs
' Autor: dieseyer@gmx.de
' Auf: www.dieseyer.de
'
' Übergibt (aus dem aktuellen VBS) den Inhalt einer Prozedur,
' um einfach aus Skripten heraus Skripte mit Sub- oder
' Function-Prozeduren zu erstellen - die 'spielereien' mit
' den Anführungszeichen übernimmt dabei das Skript.
'
'************************************************************
Option Explicit ' Siehe http://dieseyer.de/dse-wsh-lernen.html#OptionExpl
MsgBox ProzedurInTxt( "SinnLOS" )
WScript.Quit
Function SinnLos( XXX )
MsgBox "Ist das nicht sinnlos?!"
End Function ' SinnLos( XXX )
'*** v8.4 *** www.dieseyer.de ****************************
Function ProzedurInTxt( ProzName )
'*********************************************************
' Übergibt (aus dem aktuellen VBS) den Inhalt einer Prozedur
ProzName = LCase( ProzName )
Dim i
Dim fso : Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Dim Txt, Tst, Tyt, ZeileAkt, ProzOK
ProzOK = "-OK"
Txt = "'*********************************************************"
Dim FileIn : Set FileIn = fso.OpenTextFile( WScript.ScriptFullName, 1 )
Do While Not ( FileIn.atEndOfStream )
ZeileAkt = FileIn.Readline
Tst = LCase( ZeileAkt )
If ProzOK = "-OK" Then
Tyt = InStr( Tst, "function " & ProzName ) : If Tyt > 0 AND Tyt < 4 Then ProzOK = "OK"
Tyt = InStr( Tst, "sub " & ProzName ) : If Tyt > 0 AND Tyt < 4 Then ProzOK = "OK"
End If
If ProzOK = "OK" Then Txt = Txt & vbCRLF & ZeileAkt ' : MsgBox now() & vbCRLF & Txt, , "50 :: " : i = i + 1 : If i > 10 Then WScript.Quit
If ProzOK = "OK" AND InStr( Tst, "end function" ) > 0 Then Exit Do
If ProzOK = "OK" AND InStr( Tst, "end sub" ) > 0 Then Exit Do
Loop
FileIn.Close : Set FileIn = nothing
Txt = Txt & vbCRLF & "'*********************************************************"
ProzedurInTxt = Txt ' : MsgBox now() & vbCRLF & ProzedurInTxt, , "61 :: "
End Function ' ProzedurInTxt( ProzName )
http://dieseyer.de • all rights reserved • © 2011 v11.4