aknyazhev
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Господа, помогите отладить скрипт. Сам я необходимыми знаниями не обладаю, поиском по гуглю задачу не решил. Вводная: Есть статья 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" Вопрос. Что мне нужно дописать в начале листинга, что бы он заработал? Очень надеюсь на вашу помощь, господа. |