|
|
|
Помогите сделать активным лист excel из VBS
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть код 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2007, 09:00 |
|
||
|
|

start [/forum/topic.php?fid=22&fpage=387&tid=1458571]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 364ms |

| 0 / 0 |
