Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Помогите сделать активным лист excel из VBS / 1 сообщений из 1, страница 1 из 1
25.03.2007, 09:00
    #34413843
jurysch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сделать активным лист excel из VBS
Добрый день!
Есть код VBS. Задача: на основе шаблона gp2s.xls сформировать *.htm файл с текущей датой.
при этом вместо формул в файле должны быть значения.
Пока был один лист, все было хорошо, как только стало два - затык. Я понимаю, что надо активизировать нужный лист и уже для него прогнать цикл while. Но вот нигде не могу найти описание CreateObject("UISupport.WorkbookRunner")

Вот код программы:
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Const ss = "x:fmla="

Dim oExcel, oRunner
Dim sName, oName, xName, fName, tmpName
Dim fsi, fso, fi, fo, tsi, tso
Dim sDate, str1, str2

sDate = Day(Date) & "_" & Month(Date) & "_" & Year(Date)
If Len(Day(Date))=1 Then sDate = "0" & sDate
sName = "C:\1_rep\gp2s.xls"
oName = "C:\inetpub\wwwroot\reports\gp2s_" & sDate & ".htm"
xName = "C:\inetpub\wwwroot\reports\gp2s_" & sDate & ".xls"
fName = "C:\inetpub\wwwroot\reports\gp2s_" & sDate & ".files\sheet001.htm"
tmpName = "C:\gp2s.tmp"

Set fsi = CreateObject("Scripting.FileSystemObject") 'создание файла htm
if fsi.FileExists(oName) Then 'проверка на существование файла с таким именем
fsi.DeleteFile (oName)
end if
Set fsi = Nothing

Set oRunner = CreateObject("UISupport.WorkbookRunner")
oRunner.ExcelVisible = False
oRunner.SourceFile = sName 'задание файла-источника gp2s.xls
oRunner.OutputFile = oName 'задание файла-получателя htm
oRunner.Run

Set oRunner = Nothing

Set fsi = CreateObject("Scripting.FileSystemObject")
Set fi = fsi.GetFile(fName) 'создание файла htm

Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile tmpName 'создание файла tmp
Set fo = fso.GetFile(tmpName)

Set tsi = fi.OpenAsTextStream(ForReading, TristateUseDefault)
Set tso = fo.OpenAsTextStream(ForWriting, TristateUseDefault)

Do While tsi.AtEndOfStream <> True
str1 = tsi.ReadLine
str2 = str1
p1 = InStr(str1, ss)
If p1 > 0 Then
p2 = InStr(p1 + 9, str1, """")
str2 = Left(str1, p1 - 1) + Right(str1, Len(str1) - p2)
End If
tso.WriteLine (str2)
Loop

tsi.Close
tso.Close
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Помогите сделать активным лист excel из VBS / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]