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