|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Лабораторная работа 16.1 Интеграция отчета Crystal Reports в приложение VBAСоздание просмотрщика для отчетов Crystal Reports 11.5 в приложениях Microsoft Office, интеграция отчетов Crystal Reports в COM-совместимые приложения Ситуация:На вашем предприятии решено предоставить пользователям возможность открывать отчеты Crystal Reports без необходимости устанавливать программное обеспечение Crystal Reports на пользовательские компьютеры. Задание:
Рис. 16.1
Примечание. Выполнение этой лабораторной работы требует знания языка программирования VBA и среды разработки VBA в Excel. Если Вы не обладаете этими знаниями, просто сделайте лабораторную работу по инструкции, описанной в решении.
Рис. 16.2 Окно выбора файла
Рис. 16.3 Отчет в окне формы Excel Решение:1. Запустите Excel и в меню Сервис выберите Макрос | Безопасность. Установите переключатель в положение Низкая, затем закройте Excel и откройте его заново. 2. Сохраните текущий файл как C:\Reports\ViewReports.xls. 3. Нажмите на кнопку Alt+F11, чтобы открыть редактор Visual Basic. 4. Щелкните правой кнопкой мыши по контейнеру VBAProject (ViewReports.xls) и в контекстном меню выберите Insert | User Form. В проект будет добавлена форма и открыта в окне дизайнера. Если окно Toolbox у вас закрыто, в меню View выберите Toolbox, чтобы его открыть. 5. Щелкните правой кнопкой мыши по пустому месту в Toolbox, и в контекстном меню выберите Additional Controls. Установите флажок напротив элемента управления Crystal ActiveX Report Viewer Conttrol 11.5 и нажмите на кнопку OK, чтобы закрыть это окно. 6. Щелкните по добавленному вами на форму элементу управления (во всплывающей подсказке для него будет написано "Unknown") и укажите для него место на форме VBA. Измените размеры формы и созданного вами элемента управления (для этого достаточно будет просто растянуть края мышью). 7. Щелкните правой кнопкой мыши по объекту формы UserForm1 и в контекстном меню выберите View Code. Затем выберите Initialize для объекта UserForm1 и введите необходимый код. Полностью он может выглядеть так: Private Sub UserForm_Initialize() 'Предоставляем пользователю возможность выбрать файл отчета Dim sFileName As String Dim oDlg As FileDialog Set oDlg = Application.FileDialog(msoFileDialogOpen) If oDlg.Show = -1 Then sFileName = oDlg.SelectedItems(1) End If 'Открываем отчет для показа Dim crapp As New CRAXDRT.Application Dim CrReport As CRAXDRT.Report Set CrReport = crapp.OpenReport(sFileName) 'Настраиваем параметры просмотрщика и показываем отчет With CrystalActiveXReportViewer1 .ReportSource = CrReport .EnableExportButton = True .EnablePrintButton = True .EnableRefreshButton = True .EnableSelectExpertButton = True .ViewReport End With End Sub 8. Щелкните еще раз правой кнопкой мыши по контейнеру VBAProject (ViewReports.xls) и в контекстном меню выберите Insert | Module. Введите в созданном модуле следующий код: Sub ShowForm() UserForm1.Show End Sub 9. Закройте редактор VBA и в окне Excel в меню Сервис выберите Настройка. В открывшемся меню Настройка перейдите на вкладку Команды и перетащите строку Новое меню (самая последняя в списке) в главное меню Excel. После этого перетащите строку Новое меню еще раз, чтобы сформировать вложенную команду меню. 10. Не закрывая окно Настройка, щелкните правой кнопкой мыши по созданному вами пункту меню. Затем для свойства Имя введите Показать отчет Crystal Reports, а потом щелкните по пункту Назначить макрос и выберите созданный вами макрос ShowForm. Щелкните по пункту меню верхнего уровня и для свойства Имя введите Crystal Reports. 11. Воспользуйтесь созданным пунктом меню, чтобы убедиться, что все работает в соответствии с условиями.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить учебные материалы по этому курсу
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||