Шаблон для написания скриптов



Первая запись в блоге. Шаблон для разработки VBS скрипта. Может читать udl файлы и писать логи.

Set WshShell = CreateObject("WScript.Shell") ' Подключаемся к шелу операционки
Set objShell = CreateObject("Shell.Application")  
Set objFolder = objShell.Namespace(WshShell.CurrentDirectory) ' Определение рабочей папки
Set objFolderItem = objFolder.Self 
Set objFSO = CreateObject("Scripting.FileSystemObject") ' Подключаемся к файловой системе
<!--break-->
On Error Resume Next ' Отключение реакции на ошибки

'++++++++ Чтение аргументов ++++++++
 Set objArgs = WScript.Arguments
 Carg = objArgs.Count - 1
'+++++++++++++++++++++++++++++++++++
 
'________Определение констант_____
 PathF = objFolderItem.Path '
 iniFilePath = PathF & "\settings.ini"' Имя файла настроек
 LogFilePath = PathF & "\main.log"' Имя файла лога
 If objFSO.FileExists(LogFilePath) = 0 Then 'Содаем файл лога, если его нет. 
  set objTSlog = objFSO.CreateTextFile(LogFilePath) 
  objTSlog.Close
 End If
'_________________________________

'======= Основной текст =======
log "Файл подключения к БД sm.udl, файл запроса qwec.sql"
Dbconnect "sm.udl","qwec.sql"
 If Err.Number <> 0 Then ' Запись сообщения об ошибке в лог
  Log (Err.Description)
  ErrReaction (2) 
 End If

'==============================

'--------Определение функций
 Function INIread(iLineNumber)' Чтение файла настроек по номеру строки
  Set objTSini = objFS.OpenTextFile(iniFilePath, 1)
  For i=1 To (iLineNumber-1)
   objTSini.SkipLine
  Next
  INIread=objTS.Readline
 End Function

 Function Log (strLog)' Запись лога
  Set objTSlog = objFSO.OpenTextFile(LogFilePath, 8)
  objTSlog.Writeline Now & " -- " & strLog
  objTSlog.Close
 End Function

 Function ErrReaction (n) 'Реакция на возникновение ошибок
  if n=1 Then wscript.quit
  if n=0 Then
   On Error Goto 0
  End If
  if n=2 Then MsgBox "Произошла ошибка, описание смотрите в файле " & LogFilePath, vbCritical
  If n=3 Then
   MsgBox Err.Description
   wscript.quit
  End If
  if n=4 Then log("Что то не так")
 End Function
 
 Function Dbconnect (udlFile, QeryFile) 'Подключение к БД и выполнение запроса посредством чтения UDL и SQL файлов
  strFilePath = Path & "" & udlFile 'Читаем файл подключения
  Const For_Reading   = 1
  Const Tristate_True = -1
  Set objTS = objFSO.OpenTextFile(strFilePath,  For_Reading, False, Tristate_True)
  objTS.SkipLine
  objTS.SkipLine
  Udlread=objTS.Readline
  Set DBConn = CreateObject("ADODB.Connection")
  DBConn.Open(Udlread) 'Пробуем подключится
  If Err.Number = 0 Then 'Проверка на наличие проблем подключения
   Log "Подключение к БД удалось"
  End If
  strFilePath = Path & "" & QeryFile
  Set SQLf = objFSO.OpenTextFile(strFilePath, 1) 
  SQLstr = SQLf.ReadAll ' Текст запроса
  Set DBrecords=DBConn.Execute(SQLstr) ' Заполняем коллекцию DBrecords результатами выполнения запроса
  If Err.Number = 0 Then 'Проверка на наличие проблем выполнения запроса
   Log "Запрос " & strFilePath & " выполнен"
  End If
 End Function
'---------




Комментарии

Там должна быть строка подключения вроде.