Господа, помогите отладить скрипт. Сам я необходимыми знаниями не обладаю, поиском по гуглю задачу не решил.
Вводная:
Есть статья
http://www.samag.ru/cgi-bin/go.pl?q=articles;n=12.2005;a=05 В ней в конце есть глава "Подведение итогов". В ней рассматривается скрипт excel.vbs, там же приводят ЧАСТЬ его листинга, цитирую:
"Далее приводится фрагмент сценария, реализующего все эти действия.
Листинг 7. Создание документа Excel c результатами
…………….
Set s = oE.Sheets(1) ' Лист 1
s.Name = "Список"
Set s1 = oE.Sheets(2) ' Лист 2
s1.Name = "Сумма"
s.Rows(1).RowHeight = 2 * s.StandardHeight
s.Cells(1,1) = "Список установленных приложений"
s.Cells(2,1) = "Имя компьютера"
s.Cells(2,2) = "Приложения"
s.Columns("A:B").Columns.AutoFit
With s.Range("A1:B1")
.MergeCells = True
.VerticalAlignment = xlCenter
.HorizontalAlignment = xlCenter
.Font.Size=14
End With
s1.Rows(1).RowHeight = 2 * s1.StandardHeight
s1.Cells(1,1) = "Количество установленных приложений"
s1.Cells(2,1) = "Приложение"
s1.Cells(2,2) = "Всего установок"
s1.Columns("A:B").Columns.AutoFit
With s1.Range("A1:B1")
.MergeCells = True
.VerticalAlignment = xlCenter
.HorizontalAlignment = xlCenter
.Font.Size=14
End With
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set fso = CreateObject("Scripting.FileSystemObject")
' Получаем сведения о файлах, находящихся в данной папке
Set fld = fso.GetFolder(".")
Set objTextFile2 = objFSO.OpenTextFile("c:\temp\tmp", ForWriting, True)
For Each fi In fld.Files
If fi.name<>"excel.vbs" AND fi.name<>"result.xls" Then
' Файл сценария и файл отчета не открывать
Set readPCFile = objFSO.OpenTextFile(fi, ForReading)
i = 0
s.Cells(n, 1) = fi.name ' Имя файла – это имя компьютера
Do Until readPCFile.AtEndOfStream
strNextLine = readPCFile.Readline
i = i + 1
' Первые 6 строк в файлах отчетах – это шапка,
' экспортировать не нужно
If i>6 Then
s.Cells(n, 2) = strNextLine
objTextFile2.WriteLine (strNextLine)
n = n + 1
End If
Loop
readPCFile.Close
End If
Next
objTextFile2.close
f=3
Set objTextFile2 = objFSO.OpenTextFile("c:\temp\tmp", ForReading)
Do Until ObjTextFile2.AtEndOfStream
strNextLine = objTextFile2.Readline
' ищем вхождения имени приложения
Set fc = s1.Columns("A").Find(strNextLine)
If fc Is Nothing Then ' не нашли, тогда добавляем
s1.Cells(f,1)=strNextLine
Set fc = s.Columns("B").Find(strNextLine)
If Not fc Is Nothing Then
count=0
With s.Columns("B")
Set c = .Find(strNextLine)
If Not c Is Nothing Then
firstAddress = c.Address
Do
' считаем количество установок
count=count+1
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
s1.Cells(f,2)=Count ' сохраняем количество установок
End If
f=f+1
End If
Loop"
Вопрос. Что мне нужно дописать в начале листинга, что бы он заработал? Очень надеюсь на вашу помощь, господа.