Working in vbscript for the first time in a while and one of the first things to do was to write a script to autoload external files. This seems to work:
' *** FILE INCLUDE HANDLER
' Set Files to Include Here
dim aINCLUDE(2)
aINCLUDE(1) = "file1.inc.vbs"
aINCLUDE(2) = "file2.inc.vbs"
' Show Errors?
Const SHOW_ERRORS = True
Const HTML_BR = "
"
' *** SCRIPT ERROR HANDLER
' Config
dim oDictErr, iErrCount
Set oDictErr = CreateObject("Scripting.Dictionary")
iErrCount = 0
' Klenwell Error Trigger
Function kwTriggerError(sMessage)
iErrCount = iErrCount + 1
oDictErr.Add iErrCount, sMessage
If SHOW_ERRORS Then: MsgBox("Error #" & iErrCount & " : " & sMessage)
Err.Clear()
End Function
' Klenwell Error Dump
Sub kwDumpErrors
dim sOut, vKey
sOut = "Error Dump ("&iErrCount&" Errors): " & VbCrLf
For Each vKey In oDictErr
sOut = sOut & "Error " & vKey & " in oDictErr: " & oDictErr.Item(vKey) & VbCrLf
Next
MsgBox(sOut)
End Sub
' *** END SCRIPT ERROR HANDLER
' *** FILE INCLUDE HANDLER
' include file
Function kwIncludeFile(sFilePath)
On Error Resume Next
dim oFsoInc, oFileHandler, sIncContent
Set oFsoInc = CreateObject ("Scripting.FileSystemObject")
If sFilePath = "" Then: Exit Function: End If
If NOT oFsoInc.FileExists(sFilePath) Then
kwTriggerError("unable to load " & sFilePath & " : file not found")
Exit Function
End If
Set oFileHandler = oFsoInc.OpenTextFile(sFilePath,1)
If Err.number <> 0 Then
kwTriggerError("file " & sFilePath & " could not be opened")
Exit Function
End If
sIncContent = oFileHandler.ReadAll
oFileHandler.close
ExecuteGlobal sIncContent
Set oFsoInc = Nothing
Set oFileHandler = Nothing
End Function
' include all files
Sub kwIncludeFiles
dim sFile
For Each sFile In aINCLUDE
kwIncludeFile(sFile)
Next
End Sub
Call kwIncludeFiles
Includes error handling.
Labels: vbs