2016-07-07 6 views
0

Ich habe eine Bibliothek in VBScript geschrieben.Laden Sie die Bibliothek von Benutzer geschrieben

Jetzt möchte ich es in einem anderen VBScript verwenden, bin mir aber nicht sicher über die Syntax.

Wie kann ich meine Bibliothek laden gegeben, dass sein Weg ist:

C://User/My Documents/VBlib.vbs

Normaly eine Klasse von einer externen Bibliothek laden ich tun würde:

Set OutlookApp = CreateObject("Outlook.Application")

Zu meinem Verständnis Eine der möglichen Lösungen ist, meine Bibliothek zu object reference library hinzuzufügen, aber von Bibliothek hat falsche Dateierweiterung dafür.

+0

siehe http://stackoverflow.com/q/27069802/603855 für einen .wsc (= OO) Ansatz. –

Antwort

1

Ich neige dazu, ExecuteGlobal als eine Möglichkeit zu verwenden, Funktionsbibliotheken einzuschließen, die ich in andere vbs Dateien geschrieben habe. Ich wickle es in einer Funktion IncludeFile wie diese und fügen Sie die Funktion auf der Unterseite meines Vbscript genannt, es dann verwenden, ‚add‘ meine Funktionsbibliotheken:

IncludeFile "\\path\to\my\library.vbs" 

'... vbscript here can call any functions belonging to the library 


' so long as this function is in the script at the end, anyway 
Function IncludeFile(ByVal oFunctionLib) 
    Dim oFso : Set oFso = CreateObject("Scripting.FileSystemObject") 
    Dim oLibrary : Set oLibrary = oFso.OpenTextFile(oFunctionLib, 1, False) 
    Dim sFunctions : sFunctions = oLibrary.ReadAll 
    oLibrary.Close 
    Set oLibrary = Nothing 
    Set oFso = Nothing 
    ExecuteGlobal sFunctions 
End Function 
+0

'ExecuteGlobal' hat nie davon gehört, aber es funktioniert wie ein Zauber. – sgp667

Verwandte Themen