Виклик анімованої заставки в Access, MS Office, Програмні керівництва, статті

У цій статті розглянемо простий приклад, як зробити свій додаток Access більш привабливим. Мова звичайно ж піде про спец. ефектах. Взагалі, для того, щоб при запуску бази даних замість стандартної заставки з написом “Access XXX …” вивести будь-яку свою картинку, досить помістити її в форматі BMP Ð ² Ñ, у Ð ¶ Ðμ Ð’Ð ¸ Ñ € ÐμÐ º Ñ, Ð ¾ Ñ € Ð ¸ ÑŽ Ð ¸ Ñ Ñ, ÐμÐ ¼ Ð ¶ Ðμ Ð ¸ Ð ¼ ÐμÐ ½ ÐμÐ ¼, Ñ ‡ Ñ, Ð ¾ Ð ¸ Ñ “Ð ° Ð ¹ л Ð ± Ð ° Ð · Ñ <Ð'Ð ° Ð ½ Ð ½ Ñ <Ñ .... Ð Ð ° Ð ¿Ñ € Ð ¸ Ð ¼ ÐμÑ €, Ð'Ð »Ñ Ð ± Ð ° Ð · Ñ <" C: MyBase ase.mdb "Ð ½ уР¶ ÐμÐ ½ Ñ" Ð ° Ð ¹ Ð »" C: MyBase ase.bmp " . Ð Ð ¾ Ñ ÐμÐ ¹ Ñ ‡ Ð ° Ñ Ñ € Ð ° Ñ Ñ Ð ¼ Ð ¾ Ñ, Ñ € Ð ¸ Ð ¼ Ð ¿Ñ € Ð ¾ Ñ † ÐμÑ Ñ Ð ¾ Ñ, Ð º Ñ € Ñ <Ñ, Ð ¸ Ñ Ð ¿Ñ € Ð ¸ Ð »Ð ¾ Ð ¶ ÐμÐ ½ Ð ¸ Ñ, Ð ¸ Ð ¿Ð ¾ Ð ¿Ñ € Ð ¾ Ð ± уÐμÐ ¼ ÐμÐ ³ Ð ¾ "Ð ¿ÐμÑ € ÐμÑ ... Ð ² Ð ° Ñ, Ð ¸ Ñ, ÑŒ" і запустити анімовану заставку. Як остання виступатиме презентація PowerPoint.


Спочатку створимо саму заставку – презентацію PowerPoint. Відкриваємо PowerPoint, І вибираємо в меню “Загальні шаблони” сподобалися. Я, наприклад, вибрав “Океан”. Виділяємо “Заголовок слайда” і пишемо свій текст. Аналогічно “Підзаголовок слайда”. Форматування таке ж, як і Word. Тепер зробимо анімацію – власне, тому слайд і називають презентацією. Для цього виділяємо текст, до якого хочемо застосувати анімацію, і вибираємо Показ слайдів – Настройка анімації – Додати ефект. Далі, думаю, немає сенсу пояснювати. Залишилося тепер тільки зберегти все це як презентацію (. pps) – наприклад “Заставка.pps”. Для запуску з Access отриманого “шедевра” скористаємося технологією ActiveX.


Технологія ActiveX забезпечує взаємодію додатків – Автоматизацію (Automation), при якій один додаток керує роботою іншого. Щоб почати роботу з ActiveX – об’єктом, потрібно оголосити відповідну змінну, створити сам об’єкт і пов’язати змінну з об’єктом. Одним із способів виконання цієї роботи є використання специфікатора New в операторі оголошення змінних:


Dim <ім'я змінної> As New <ім'я пріложенія.імя класу>


Однак більш універсальним способом створення ActiveX – об’єктів є виклик спеціальних функцій CreateObject і GetObject.
Як правило, виклик цих функцій поміщається в праву частину оператора Set. В результаті його виконання об’єктне вираз повертає посилання на створений об’єкт, яка стає значенням змінної. Синтаксис функції CreateObject:


CreateObject (“Імя_пріложенія.Імя_класса”)


Функція GetObject має додатковий параметр шлях, який задає повний шлях до файлу, який містить ActiveX – об’єкт.
Створимо порожню форму frmHide і створимо в ній процедуру відкриття форми:


Private Sub Form_Open(Cancel As Integer)
Dim ppApp As Object
     Set ppApp = CreateObject(“Powerpoint.Application”)
     ppApp.Visible = True
ppApp.Presentations.Open CurrentProject.Path & “Заставка.pps”
End Sub


Як видно, повний шлях до файлу презентації був отриманий за допомогою CurrentProject.Path та імені файлу. Якщо тепер запустити цю процедуру, то вона в свою чергу запустить Powerpoint, а він покаже нам нашу заставку “Заставка.pps”. Так як нам потрібно, щоб запуск відбувався при відкритті програми, то запустимо її найпростішим способом – через зазначення імені стартовою форми, в нашому випадку це буде frmHide: Сервіс – Параметри запуску – Висновок форми / сторінки – frmHide. Заодно приберемо всі галочки, крім “контекстні меню за умовчанням” – цим ми приховаємо майже всі стандартні меню Access і саме вікно програми, щоб не заважало. Нагадаю, хто не знає: щоб самому дістатися до форми для редагування (Відобразити вікно Access) потрібно запускати програму, утримуючи Schift. Це так звана “захист від дурня” в найпростішому виконанні. Під “дурнями” маються на увазі цікаві користувачі, яким цікаво, що “всередині” програми, а так само наївні розробники, думаючі таким чином провести користувачів, і закрити їм доступ до вікна Access. Schift вже давно не для кого не секрет, а от щоб не можна було відкрити за допомогою Schift існує … “захист від Schift” – спеціальні програмні модулі, що перешкоджають цьому, що зрозуміло можна зламати іншими програмними модулями, які найчастіше так і називають: “Злом захисту від Schift”. І тут вже все буде залежати від рівня розробників: чий модуль “хитріше”, той і виграв. Втім, ми відволіклися, мова то ж у нас була про запуск презентації Powerpoint.
Отже, стартову форму вказали, вікно Access згорнули. Запускаємо програму. З’являється заставка, йде анімація і … все. Справа в тому, що в тут не вистачає ще одного важливого моменту: так управління було передано Powerpoint, то тепер потрібно з Powerpoint запустити Access! Можна створити аналогічну процедуру в Powerpoint, адже там теж, як і у всіх офісних додатках, підтримується VBA. Але ми поступимо по іншому: нехай Access закриє Powerpoint і запустити другу стартову форму (тепер уже “справжню стартову”). Для цього скористаємося властивістю форми Таймер і створимо ще одну процедуру у формі frmHide:


     Private Sub Form_Timer()
     Dim ppApp As Object
          Set ppApp = CreateObject(“Powerpoint.Application”)
          If ppApp.Visible = True Then
               ppApp.Quit
               DoCmd.Close acForm, Me.Form.Name
               DoCmd.OpenForm “frmStart”
          End If
     End Sub


Як видно, через неї закривається додаток Powerpoint (ppApp.Quit), Закривається сама форма frmHide (бо я її і назвав Hide) і відкривається справжня стартова форма програми – frmStart. Подія Таймер відбувається із заданим інтервалом (мс). Він задається в конструкторі форми frmHide – Інтервал таймера. Я поставив 4500. Цього вистачає для “прогону” анімації.


Приклад, як це все працює, Ви можете завантажити нижче.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*