Как настроить передачу данных из Access в Excel

Отчеты, выполненные в конструкторе отчетов MS Access 2010, несмотря на свою универсальность, значительно уступают таблицам MS Excel и документам MS Word в плане комфортности работы с отчетом. Далее пойдет речь о расширении функциональных возможностей вашего Access-приложения за счет организации взаимодействия с другими продуктами MS Office. Все составные части этого пакета разработаны таким образом, что работать с ними могут не только конечные пользователи, но и разработчики, обращаясь к ним как к серверам модели COM (Component Object Model, модель составных объектов).

На практике это выглядит следующим образом. В нужный момент времени из вашего приложения запускается MS Excel, Word или другой продукт, ему передается выборка данных, с которыми оперирует исходное приложение, обрабатывается, но уже средствами привлеченных продуктов, и выдается конечному пользователю. Этот метод работы широко применяется программистами, пишущими на Delphi, Visual FoxPro и других языках. Для Access-разработчиков задача упрощается. В основе всей линейки MS Office лежит VBA, с которым читатель уже знаком. Знание других языков не требуется.

MS Excel наделен замечательной возможностью записи действий пользователя в макрос. Другими словами, все, что делает пользователь в приложении, может быть автоматически запротоколировано в виде текста на языке VBA и после небольшой доработки по существующим правилам запущено на выполнение, но уже непосредственно из исходного приложения и с его исходными данными. Конечный пользователь может даже и не догадаться, что имеет дело с другим продуктом, если вы «погасите» все меню и панели инструментов, оставив на экране его дисплея только результаты своей работы.

Превратимся на время в конечного пользователя. Запустите MS Excel 2010. Перейдите на вкладку Вид ленты главного окна. Найдите значок Макросы и щелкните по треугольничку, расположенному ниже значка. Появится меню из трех пунктов. Выберите в нем второй — Запись макроса. Откроется окно для ввода имени макроса. Щелкните по кнопке OK. Теперь все ваши действия будут протоколироваться. Введите в первые три ячейки текст, выделите их и установите вид шрифта и размер (рис. 1). После завершения работы выберите в том же месте главного окна пункт Остановить запись.

Рис. 1. Протокол действий конечного пользователя

Рис. 1. Протокол действий конечного пользователя

Оперируя все той же пиктограммой Макросы, просмотрим созданный текст (листинг 1). Для этих же целей можно воспользоваться комбинацией клавиш Alt+F8, которая выводит на экран список всех макросов в документе.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Листинг 1. Код, записанный макрорекордером
Sub Макрос1()
	Range("A1").Select
	ActiveCell.FormulaR1C1 = "Фамилия"
	Range("B1").Select
	ActiveCell.FormulaR1C1 = "Имя"
	Range("C1").Select
	ActiveCell.FormulaR1C1 = "Отчество"
	Range("A1:C1").Select
	With Selection.Font
		.Name = "Times New Roman"
		.Size = 12
		.Shadow = False
		.Underline = xlUnderlineStyleNone
		.ThemeColor = xlThemeColorLight1
		.ThemeFont = xlThemeFontNone
	End With
End Sub

При записи макросов все продукты MS Office используют множество системных констант. В нашем листинге их три: xlUnderlineStyleNone; xlThemeColorLight1; xlThemeFontNone. Если передачей документов в MS Office занимаются не VBA-приложения, то для их корректной работы приходится прибегать к различного рода уловкам для извлечения констант из соответствующих библиотек. В нашем случае этого делать не требуется.

Обувь очень высокого качества, а также кожгалантерея, туфли, сапоги, обувь для невесты и это не полный список того, что вы можете купить или заказать обувь в интернет магазине Самары. Дорогие марки, но обувь и должна быть дорогой, ведь на своих ногах экономить нельзя — это известная истина. Сумки (вечерние и ридикюли), уход за кожей — вот что вы найдете на этом сайте. Доставка в Россию, оплата кредитной картой.

Top