Nov 02 2009

Splash screen czyli okienko powitalne

Posted by Marcin

Splash screen to nic innego jak okienko powitalne, które jest widoczne przez kilka sekund podczas lub tuż po uruchomieniu aplikacji. W przypadku arkuszy nie ma to praktycznego zastosowania, ale czasami przydaje się, aby wyświetlić tytuł arkusza, nazwisko autora, lub po prostu aby nadać arkuszowi nieco elegancji.

Z mojego doświadczenia wynika, że takie okno powitalne nie powinno być wyświetlanie dłużej niż 10 sekund - w przeciwnym wypadku wzbudza irytację użytkowników. Przygotowanie całego mechanizmu zaczniemy od zaprojektowania samego okienka.

Tradycyjnie zaczynamy od włączenia Edytora Visual Basic (ALT+F11). Następnie wybieramy polecenie Insert/User Form. Musimy również mieć włączony pasek narzędzi Toolbox - w razie braku wybieramy View/Toolbox. Projekt możemy wykonać wg własnego widzimisię - najszybciej jednak poprzez wybór kontrolki Label. Na jednym formularzu możemy umieścić wiele kontrolek (nie tylko Label) - warto poeksperymentować, zwłaszcza, z Właściwościami każdej z kontrolek. Np. dla kontrolki Label warto sprawdzić Właściwości czcionki i efektów. Przykład stworzony przeze mnie możecie zobaczyć na poniższym rysunku:

Projekt formularza

Następnie określimy, jak długo nasze okno powitalne ma być wyświetlane. W tym celu klikamy dwukrotnie na formularzu (ale nie na kontrolce!) i z listy Procedure (w prawym górnym rogu) wybieramy pozycję Initialize jak na rysunku:

Initialize

Wpisujemy tam następujący kod, który spowoduje wyświetlanie okna przez 5 sekund:

 
Private Sub UserForm_Initialize()
	Application.OnTime Now + TimeValue("00:00:05"),
"WylaczSplashScreen"
End Sub
 

Kolejny krok, to napisanie procedury WylaczSplashScreen, która spowoduje zniknięcie naszego okna:

 
Sub WylaczSplashScreen()
	Unload UserForm1
End Sub
 

Ostatni krok, to spowodowanie automatycznego uruchomienia naszego mechanizmu podczas otwierania arkusza. W tym celu w Project Explorer powinna być widoczna nazwa skoroszytu. Należy rozwinąć foldery znajdujące się pod nazwą skoroszytu, aż pod nazwą Microsoft Excel Objects pojawi się ThisWorkbook. Pozycję ThisWorkbook należy dwukrotnie kliknąć, wyświetlając w ten sposób jej moduł prywatny, a następnie wpisać:

 
	UserForm1.Show
 

Na zakończenie wracamy do Excela, zapisujemy zmiany i testujemy.

Filed under : VBA, Wszystkie | No Comments »

Leave a Reply