0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 30
|
|
1 | |
Автоматизация в Access97 (выгрузка данных в Excel)31.07.2011, 12:00. Просмотров 1776. Ответов 4
Метки нет Все метки)
(
Мне надо из Access 97 VBA заполнить лист Excel.
Выглядит это так: Dim ExcelApp As Object, ExcelWorkbook As Object, ExcelSheet As Object Set ExcelApp = CreateObject('Excel.Application') ExcelApp.Workbooks.Open 'C: eestr.xls' Set ExcelWorkbook = ExcelApp.Workbooks(1) Set ExcelSheet = ExcelApp.Workbooks(1).Worksheets(1) With ExcelSheet ? End With ExcelApp.Visible = True Вместо ? надо подставить код. Мне нужно объединение определенных ячеек, установка границ ячеек для печати в виде таблицы, и подстановка значений в ячейки. Пробовал брать макрос из Excel, но в Access не все функции доступны.
0
|
|
31.07.2011, 12:00 | |
Help! Перенос данных из Excel в Access97 Выгрузка данных из БД в excel
Выгрузка данных в Excel |
|
0 / 0 / 0
Регистрация: 08.02.2010
Сообщений: 345
|
|
01.08.2011, 14:18 | 2 |
Все можно из макроса, только надо явно ссылаться
ExcelSheet.Range ExcelSheet.Cells ExcelApp .Selection и т.д.
0
|
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 30
|
|
01.08.2011, 18:35 [ТС] | 3 |
Я пробовал - записанный макрос Excel переносил в Access,
не все функции опознавались, константы в Access к тому же другие. Я нашел выход - слил все данные на 2 лист Excel с помощью .cells(1,1)='...' и т. д., а потом запускаю макрос Excel командой ExcellApp.Run 'Макрос1', а в нем уже прописываю действия (воспользовавшись командой записи макроса и слегка его подредактировав).
0
|
0 / 0 / 0
Регистрация: 11.08.2011
Сообщений: 2
|
|
11.08.2011, 11:12 | 4 |
я делаю так , InExcel - набор данных которые выводятся в excel. если надо оформление (типа рамочки стиль и проч.) пиши на мыло.
Set xlsCust = CreateObject('Excel.sheet') Set xlaAppXL9 = xlsCust.Parent.Parent xlsCust.Sheets('Лист1').Select xlsCust.Sheets('Лист1').Name = 'ЗАЯВКА' xlsCust.ActiveSheet.PageSetup.Zoom = 75 xlsCust.ActiveSheet.PageSetup.CenterFooter = 'Страница &P из &N' xlsCust.ActiveSheet.PageSetup.LeftMargin = 70 xlsCust.ActiveSheet.PageSetup.TopMargin = 30 xlsCust.ActiveSheet.PageSetup.BottomMargin = 20 Set rst = dbsCurrent.OpenRecordset('InExcel') intRow = Y + 1 intCol = 1 rst.MoveFirst Do Until rst.EOF For intCol = 1 To rst.Fields.Count If (Not IsNull(rst.Fields(intCol - 1))) Then xlsCust.ActiveSheet.cells(intRow, intCol).Value = rst.Fields(intCol - 1) xlsCust.ActiveSheet.cells(intRow, intCol).Font.Size = 10 End If Next intCol rst.MoveNext intRow = intRow + 1 Loop
0
|
0 / 0 / 0
Регистрация: 11.08.2011
Сообщений: 2
|
|
11.08.2011, 11:14 | 5 |
Да забыл...в конце еще надо
xlsCust.SaveAs (ИмяФайла) xlsCust.Application.QUIT Set xlsCust = Nothing
0
|
11.08.2011, 11:14 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь. Выгрузка данных формы в Excel Выгрузка данных из Delphi в Excel Выгрузка данных с Firebird в Excel Выгрузка данных из Access в Excel Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |