Тема: Экспорт из Lotus в Word или Exel
Передача данных в MS Excel
Переменные для OLE
Dim EObj As Variant
Dim xlsheet As Variant
Dim xl As Variant
Dim Rang As Variant
Dim Cell1 As Variant
Dim Cell2 As Variant
запуск и установка настроек Excel
создаем OLE объект
Set EObj = CreateObject("Excel.Application")
If EObj Is Nothing Then 'проверка на наличие установленного Excel
Messagebox "Не установлен Excel!!!", 0 + 16 , "ошибка"
Exit Sub
End If
If Isnull(EObj) Then 'если не получилось, то выходим
Messagebox "Не удается создать 'книгу'."
Exit Sub
End If
Print ("Запуск Excel Application...")
' Отключаем реакцию Excel на события, чтобы ускорить вывод информации
EObj.Application.EnableEvents=False
Set NewBook = EObj.Workbooks.Add("")
Set xlsheet = EObj.Workbooks(1).Worksheets(1)
'установка полей таблицы
EObj.ActiveSheet.PageSetup.LeftMargin= EObj.Application.InchesToPoints(0.35)
EObj.ActiveSheet.PageSetup.RightMargin= EObj.Application.InchesToPoints(0.35)
EObj.ActiveSheet.PageSetup.TopMargin= EObj.Application.InchesToPoints(0.35)
EObj.ActiveSheet.PageSetup.BottomMargin= EObj.Application.InchesToPoints(0.45)
EObj.ActiveSheet.PageSetup.FooterMargin = EObj.Application.InchesToPoints(0.30)
'установка ориентации страницы
EObj.ActiveSheet.PageSetup.Orientation= Cint(cd.okrug(0))
форматирование таблицы
Set xl=xlsheet.Range(xlsheet.Cells(1,col0),xlsheet.Cells(row1,col1))
xl.font.name="Times New Roman"
xl.WrapText=True 'перенос по словам
'прорисовка всех клеток
'вся таблица
Set xl=xlsheet.Range(xlsheet.Cells(row0,col0),xlsheet.Cells(row1,col1))
xl.borders.LineStyle = 1
xl.borders.Weight = 2
xl.VerticalAlignment=-4160
If cd.okrug(0)="1" Then
xl.font.size=11
Else
xl.font.size=10
End If
For i1=7 To 10
xl.Borders(i1).LineStyle = 1
xl.Borders(i1).Weight = 3
Next
'шапка
Set xl=xlsheet.Range(xlsheet.Cells(row0,col0),xlsheet.Cells(row0,col1))
xl.font.bold=True
xl.HorizontalAlignment=-4108
xl.VerticalAlignment=-4108
xl.Borders(4).LineStyle = 1
xl.Borders(4).Weight = 3
занесение заголовка
xlsheet.Cells(1,1)=SS1
xlsheet.Cells(2,1)=SS2
перенос сформировавшегося массива в Excel
Set Cell1=xlsheet.cells(row0,col0) 'левая верхняя ячейка диаппазона
Set Cell2=xlsheet.cells(row1,col1) 'правая нижняя ячейка диаппазона
Set rang=xlsheet.range(cell1,cell2)
Rang.Value = SumData
EObj.Visible=True
Print ("Отчет готов")