Вот делал совсем недавно. Может быть будет полезно.
В клиенте 7.0.2 столкнулся с проблеммой что Лотус н епонимает Exel'евские константы.
Заменял их на значения типо этого chart.ChartType = 57 'xlBarClustered
А вообще делал так как осветует морфеус.
Значения констант моно через ВБ дебагер смотреть.
[codebox]Print "Инициализация приложения"
Dim xlApp As Variant
Dim xlWB As Variant
Dim xlSheet As Variant
Set xlApp = CreateObject("Excel.Application")
Call xlApp.Workbooks.Add
xlApp.Visible = False
Set xlWB = xlApp.Workbooks(1)
'удаление лишних листов
Set xlSheet = xlWB.Worksheets(3)
Call xlSheet.delete
Set xlSheet = xlWB.Worksheets(2)
Call xlSheet.delete
Set xlSheet = xlWB.Worksheets(1)
xlSheet.Name ="Отчет"
xlsheet.Columns("A:A").ColumnWidth = 3
xlsheet.Columns("B:B").ColumnWidth = 13
Redim Preserve divarray(0)
'создание строчки с заголовками поздразделений и суммы по каждому из них
'поздразделения беруться из списка вида "Час!Подразделение=кол-во посещений"
Call KipStatistic_VisitorsFillTable (x_start,y_start,docList,diagrtype,xlSheet, divarray)
'задаем размер таблицы в зависимости от типа диаграммы
Dim x_tab As Integer
Dim y_tab As Integer
Select Case diagrtype
Case 3
x_tab=x_start+Ubound(divarray)+3
y_tab=y_start+27
Case 2
x_tab=x_start+Ubound(divarray)+3
y_tab=y_start+2
Case 1
x_tab=x_start+2
y_tab=y_start+27
Case 0
x_tab=x_start+2
y_tab=y_start+2
End Select
'заполнение первой колонки (времени) и создание построчной суммы
Call KipStatistic_VisitorsCreateSum (x_start,y_start,x_tab,y_tab,diagrtype,xlSheet)
'выделение жирным заголовков
'xlSheet.Range("A2:A27").font.Bold = True
xlSheet.Range( xlSheet.Cells(y_start+1,x_start+1),xlSheet.Cells(y_start+y_tab,x_start) ).font.Bold = True
xlSheet.Range( xlSheet.Cells(y_start+1,x_start+1),xlSheet.Cells(y_start+1,x_tab) ).font.Bold = True
'рисуем таблицу
Call KipStatistic_VisitorsDrawMargins (x_start,y_start,x_tab ,y_tab ,xlSheet ,xlApp)
'построение диаграммы
Print "Построение диаграммы"
Dim chart As Variant
If y_tab > 3 Then y_tab=y_tab-2
Call xlSheet.Range( xlSheet.Cells(y_start+1,x_start+1),xlSheet.Cells(y_tab,x_tab) ).Select
Set chart = xlWB.Charts.Add
chart.name="Диаграмма"
'тип диаграммы - линейчатая
chart.ChartType = 57 'xlBarClustered
'ряды по столбцам
Chart.PlotBy = 2 'xlColumns
'удаление пустого ряда
If diagrtype > 1 Then chart.SeriesCollection(Ubound(divarray)+1).Delete
'создание заголовка диаграммы ( в каментах указаны значения соответствующий кодам в скобках)
chart.HasTitle = True
Dim titlestr As String
titlestr="Количество посещений портала с " & dt1 & " по " & dt2
Select Case diagrtype
Case 3
titlestr=titlestr & " с разбивкой по предприятиям и часам"
Case 2
titlestr=titlestr & " с разбивкой по предприятиям"
Case 1
titlestr=titlestr & " с разбивкой по часам"
End Select
chart.ChartTitle.Characters.Text = titlestr
chart.HasLegend = True
Chart.Legend.Position = -4160 'xlLegendPositionTop
If diagrtype=2 Then chart.HasAxis(1, 1) = False
chart.HasAxis(2, 1) = True '(xlValue, xlPrimary)
chart.Axes(2, 1).HasTitle = True '(xlValue, xlPrimary)
chart.Axes(2, 1).AxisTitle.Characters.Text = "Кол-во человек" '(xlValue, xlPrimary)
chart.ProtectSelection = True
Call xlSheet.Protect(,True,True)
Call xlWB.Sheets("Отчет").Select
Call xlSheet.Range( xlSheet.Cells(1,1),xlSheet.Cells(1,1) ).Select
Print ""
xlApp.Visible = True
Goto endH
errHandler:
Error Err, "(" & LibName & ") " & FuncName & ", стр." & Erl & Chr (10) & Error$
endH:[/codebox]