2016-07-07 3 views
0

Я написал библиотеку в VBScript.Загрузить библиотеку, написанную пользователем

Теперь я хотел бы использовать его в другом VBScript, но я не уверен в синтаксисе.

Как загрузить свою библиотеку, учитывая, что его путь:

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

Normaly загрузить класс из внешней библиотеки, я хотел бы сделать:

Set OutlookApp = CreateObject("Outlook.Application")

В моем понимании одним из возможных решений является добавление моей библиотеки в object reference library, но для библиотеки для этого есть неправильное расширение файла.

+0

см http://stackoverflow.com/q/27069802/603855 для подхода .wsc (= OO). –

ответ

1

Я использую ExecuteGlobal как способ включения библиотек функций, которые я написал в другие файлы vbs. Я обернуть его в функцию, вызываемую IncludeFile, как это и добавить функцию в нижней части моего VBScript, а затем использовать его, чтобы «добавить» мои функции библиотеки:

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' никогда не слышал об этом, но он работает как шарм. – sgp667