Moje doświadczenia z Excelem, Accesem i programowaniem w VBA
Blog > Komentarze do wpisu

VBA w PowerPoint

Jakoś tak się dziwnie złożyło, że mimo iż często tworzyłam różne i to rozbudowane prezentacje w PowerPoincie, nigdy nie wstawiałam tam kodu VBA. Nie było takiej potrzeby, zawsze wystarczały mi narzędzia systemowe. Z VBA korzystam obficie w Excelu i w Accessie, w PP nigdy. Może dlatego przeżyłam mało przyjemną niespodziankę, gdy musiałam przygotować prezentację z użyciem formantów Active-X? 

Zadanie, przed jakim stanęłam, to zrobienie prezentacji PowerPoint będącej rodzajem testu. Użytkownik na kolejnych slajdach wykonuje ćwiczenia. Do wyboru jest jedna z kilku odpowiedzi - wszystko proste, tylko jedna odpowiedź dobra, brak pól wielokrotnego wyboru. Główną wartością prezentacji były pytanie i prawidłowe odpowiedzi na nie, a nie kwestia oprogramowania. I fajnie, wydawało mi się, ze nie ma żadnego problemu, aby takie coś stworzyć. Jak to jednak w życiu bywa - pojawiły się niespodzianki.
W przeciwieństwie do Excela czy Accessa w PowerPoint nie ma możliwości oprogramowania zdarzeń np. przy wejściu do slajdu itp. Nie da się więc tu przypisać żadnego kodu. Przykre, ale trudno. Gorszym problemem okazało się coś innego. Użytkownik na slajdzie widzi pytanie i kilka możliwych odpowiedzi, każda przypisana do jednej opcji (próbowałam również z przyciskami). Po kliknięciu w opcję - jedno z dwóch niewidocznych pól tekstowych (odpowiedź dobra lub odpowiedź zła)  zmienia swój stan na Visible czyli staje się widoczne w slajdzie. Banalne rozwiązanie, ale wystarczyłoby na potrzeby tej prezentacji. Problem polega jednak na tym, że jest to działanie jednorazowe. Nawet zapisanie prezentacji jako przenośnej powoduje "zapamiętywanie" ostatniego statusu czyli jeżeli raz została wybrana odpowiedź i dany TextBox stał się widoczny, to po ponownym uruchomieniu jest on już widoczny na samym starcie. Z punktu widzenia zadania do wykonania - absurd i nie może tak być. Szukałam trochę w sieci, czas naglił, ale nie znalazłam żadnego rozwiązania problemu.

Poradziłam sobie droga nieco "pod górkę". Wyłączyłam systemowe przechodzenie pomiędzy slajdami, wstawiając na każdym ze slajdów własne przyciski "poprzedni slajd i "kolejny slajd". Kliknięcie w któryś z nich powoduje wpierw uruchomienie makra "resetującego" wszystkie obiekty do stanu pierwotnego, a dopiero w drugim kroku - przejście do innego slajdu. Takie rozwiązanie działa i spełnia swoje zadanie, ale jakoś mam wrażenie, że idę dookoła.
Jak powinnam to zrobić?


 

niedziela, 30 września 2012, marzatela
Tagi: powerpoint VBA













Polecane wpisy

TrackBack
TrackBack URL wpisu:
Komentarze
Gość: Zenek, *.dynamic.mm.pl
2012/10/01 12:52:18
-
2012/10/01 13:26:49
@Zenek
Dzięki za link. Wykorzystam.
-
Gość: dilexio, *.matcom.com.pl
2012/10/11 15:01:14
Polecam książkę Microsoft Office 2007. Język VBA i makra. Rozwiązania w biznesie. Powinna odpowiedzieć na Twoje pytanie. Ponadto zawiera wiele ciekawych i praktycznych rozwiązań VBA w pakiecie Office.
-
2014/10/27 07:59:10
dzieki za link i info


Książki warte polecenia
zobacz szczegóły...


A tu oferta na dziś:

Wydawnictwo Strefa Kursów



ministat liczniki.org



Napisz do mnie!