Jump to content

VBS-Scripte zusammen fassen?


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Birgit,

 

die verschiedenen Scripte kannst du z.B. zusammenpacken, indem du Sub's bzw. Function's draus machst. Beispiele:

Sub ConnectPrinter(strDR)
...
End Sub

Function GetFullName(strDomain,strUserID)
Set objUser = GetObject("WinNT://" & strDomain & "/" & strUserID)
GetFullName=objUser.FullName
End Function

 

Ich machs z.B. so: Die Funktionen liegen in ner "Functions.inc", die Subs in einer "Procs.vbs" (die Namen sind egal) und werden dann in Scripten folgendermassen eingebunden:

 

RunDir = WScript.ScriptFullName
RunDir = Left(RunDir,InStr(RunDir,WScript.ScriptName)-2)

Include Rundir & "\global.inc"
Include Rundir & "\functions.inc"
Include Rundir & "\procs.vbs"

 

... in der "global.inc" liegen bei mir globale Variablendefinitionen (Domänennamen, Servernamen o.ä....)

 

Gruß, Frank

Link zu diesem Kommentar

@Cybquest

 

Hallo Cybquest,

 

entweder ich habe das irgendwie missverstanden oder aber ich bin zu ****!

(Bei mirläuft XPP SP2 + WSH 5.7 für XP)

 

Auf jeden Fall funktioniert das mit include bei mir nicht. :cry:

 

Hätte ich aber gerne, denn zur Zeit nutze ich einen Aufruf eines wsf-jobs und von dort aus binde ich eine/oder mehrere andere VBS Datei(en) ein. So ist es mir zur Zeit zwar möglich Prozeduren aus einem Script in einem anderen Script zu verwenden.

Aber dies ist aber natürlich etwas aufwendiger als einfach eine include-Zeile.

 

Und wenn es doch einfacher geht, dann: "Haben wollen! Please" :cool:

 

Daher bitte nochmal erklären:

 

Habe bereits versucht Deine Beitrag wie folgt umzusetzten:

 

unter c:\just4test liegen die beiden dateien

C:\just4Test\testinclude.vbs

C:\just4Test\helper.vbs

 

In der helper.vbs habe ich eine einfache Funktion (justhelper) die ich in testinclude.vbs

aufrufen möchte.

Dies soll mir die include-Anweisung (ensprechend Deinem posting) doch ermöglichen. Oder???:confused:

 

Verschiedene Testvarianten sind noch im code aber auskommentiert

 

Folgende Fehlermeldungen:

Entweder wird include als undefinierte variable definiert oder wenn ich include als variable deklariere (was ja eigentlich keinen Sinn macht) dann kommt ein Typenunverträglichkeitsfehler.

 

 

Herzlichen Dank

pacobay

 

 

 

der jeweilige Code

 

 
'VB Script Document
'C:\just4Test\testinclude.vbs

Option explicit

DIM RunDir

'Dim Include

RunDir = WScript.ScriptFullName
RunDir = Left(RunDir,InStr(RunDir,WScript.ScriptName)-2)
Include Rundir & "\Helper.vbs"

'Include= "C:\just4test\helper.vbs"
'msgbox Rundir

justhelper

 

 

Die helper.vbs

' VB Script Document
'C:\just4Test\helper.vbs
Option explicit

Dim wshShell
Set wshShell = Wscript.CreateObject("Wscript.Shell")
DIM msg		' Meldungstexte für Messages
Dim titel		' Meldungstitel

Function justhelper()
msg=  "Ich bin der helper"
titel="just4test                   "
WshShell.Popup msg,0, titel,(64+4096)
End Function 'justhelper

'justhelper

Link zu diesem Kommentar

@Cybquest

 

Ach soooo !

Aber jetzt funktioniert es im Prinzip. Lediglich die Ergänzung DIM oFS,oFile im Sub Include war noch nötig, da ich grundsätzlich mit "option explicit" arbeite. ;)

 

Aber ganz klar ein dreifach: :jau: :jau: :jau:

 

 

Hatte mal ewig mit dem Einbinden von externen scripten ein Problem. Habe dann zwar einen Weg gefunden mit dem ich leben konnte. Aber einfach die Basics via fso und executeglobal einzubinden bin ich nicht gekommen. :rolleyes:

Kommt das von Dir oder woher hast Du das?

 

Auf jeden Fall werde wohl zukünftig meine Basic-Prozeduren über deinen Weg einbinden. Ist wirklich einfacher. Genauer gesagt ich baue das bereits zu einem allgemeinen Template um. Denn ich habe so eine Art Mega.vbs auf die ich in einer Viezahl von kleineren Scripten zurückgreife. Diese liegt in einem zentralen Ort und nicht in dem selben Verzeichnis.

 

Danke Dir auf jeden Fall herzlichst. :)

 

pacobay

 

 

@Birgit25

Sorry, für die Fachsimpelei. Aber Du bist nicht vergessen! Und daher poste ich das dann zusammenhängende und kommentierte Template natürlich hierher. Mache ich heute oder morgen fertig. Versprochen ;)

Link zu diesem Kommentar

Diese Zip repräsentiert eine Demonstrationsumgebung zum Thema:

" VBS-Scripte zusammenfassen".

'-------------------------------------------------------------------

Die Zipdatei einfach unter c:\ extrahieren. Also c:\MYVBS\....

Dann laufen die Demonstrationsscripte einfach.

Sonst halt entsprechende Anpassung in TestincludeV02.vbs durchführen.

 

unter C:\MYVBS\0_info\ReadMe.txt ein paar allg. Infos

 

Alternative V01

unter C:\MYVBS\Projekte\TestincludeV01\

Demonstration: Einbinden einer externen Scriptdatei (HelperV01.vbs) in eine andere Scriptdatei (TestincludeV01.vbs). Beide Dateien in einem Verzeichniss.

 

Alternative V02

Demonstration: Einbinden externer Scriptdateien

C:\MYVBS\myBSRep\GlobalDeclare.vbs

C:\MYVBS\myBSRep\BasicProzedures.vbs

 

in eine andere Scriptdatei C:\MYVBS\Projekte\TestincludeV02\TestincludeV02.vbs

 

Also eingebundene Datei an einem fixen d.h. festgelegten Ort zur mehrfachen Verwendung in unterschiedlichen Scripten.

_____

Noch Zusätzliche Infos am Ende der Datei

C:\MYVBS\Projekte\TestincludeV01\TestincludeV01.vbs)

 

have fun pacobay

MYVBS.zip

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...