Вывод набора записей в Excel

Panfik
Дата: 04.12.2006 12:41:34
Необходимо вывести несколько запросов в один файл excel, соответственно на разные листы.
Один запрос выводить я научился - делаю так


Private xla As Excel.Application
Private xlw As Excel.Workbook
Private xls As Excel.Worksheet

Public Function Export()

Dim dbs As Database
Dim rst As Recordset
Dim intRow As Integer
Dim intCol As Integer

    Set dbs = CurrentDb()
    Set rst = dbs.OpenRecordset("qryTeams")
    
    Set xlw = CreateObject("Excel.Sheet")
    Set xla = xlw.Parent
    Set xls = xlw.ActiveSheet
    
    xls.Name = "Команды"
    
    intRow = 2
    rst.MoveFirst
    Do Until rst.EOF
        For intCol = 1 To rst.Fields.Count
            If (Not IsNull(rst(intCol - 1))) Then
                xlw.ActiveSheet.Cells(intRow, intCol).Value = CStr(rst(intCol - 1))
            End If
        Next intCol
        rst.MoveNext
        intRow = intRow + 1
    Loop
    
    xlw.SaveAs (CurrentPath & "Teams.xls")
    xlw.Close
    xla.Quit
    Set xls = Nothing
    Set xlw = Nothing
    Set xla = Nothing
End Function


а вот как мне добавить в уже существующий файл еще один лист не понимаю.
Я понимаю, что, скорее всего, это тривиально, но раньше с excel вообще не работал.
nibbles
Дата: 04.12.2006 12:45:15
нужно открыть Excel, запустить запись макроса, добавить новый лист, остановить запись макроса и проанализировать получившуюся процедуру VBA
Karfaqen
Дата: 04.12.2006 12:48:33
Вместо
Set xls = xlw.ActiveSheet
написать
Set xls = xlw.Worksheets.Add
Panfik
Дата: 04.12.2006 13:06:13
Karfaqen
Set xls = xlw.Worksheets.Add

Спасибо!
сделал
    Set xlw = GetObject(strExcelName)
    Set xla = xlw.Parent
    Set xls = xlw.Worksheets.Add
    ........
    xlw.Save
    xla.Quit