wtorek, 28 stycznia 2014

Okno wyboru folderu

W czasie prowadzonych szkoleń z podstaw VBA dla MS Excel prezentuję jedną z podstawowych technik wyboru folderu z wykorzystaniem wbudowanego okna FileDialogs. Szybko może przypomnę tą technikę w trzech krokach:

1. kod VBA


2. którego efektem dziania jest następujące okno wyświetlane użytkownikowi



3. w efekcie wybrania przez użytkownika określonego folderu zwracany jest wynik w postaci ścieżki do tego folderu:


Alternatywne rozwiązanie opiera się  o wykorzystanie zewnętrznej biblioteki Shell.  W wyniku wywołania odpowiednich funkcji wybór folderu odbywa się w oparciu o inne okno, bardziej znane ze środowiska Windows niż samego pakietu Office.


W jaki sposób wygląda kod do tego typu okna. Ponieważ naszym celem jest uzyskanie informacji o wskazanej przez użytkownika ścieżce dlatego też samo rozwiązanie ukrywamy najczęściej w funkcji VBA a nie procedurze. Oto przykładowa funkcja wyświetlająca powyższe okno:

Powyższa funkcja nie jest mojego autorstwa lecz uwzględnia moje modyfikacje i uproszczenia. Wiele wariantów tego rozwiązania można odnaleźć w sieci. Stosuję jednak to rozwiązanie o wiele chętniej niż wariant standardowo wbudowany w środowisko VBA prezentowany na początku niniejszego postu.

Pozostała jeszcze kwestia wywołania tej funkcji. W tym celu wystarczy nam poniższy fragment kodu:


Sam wynik, jak łatwo się domyślić, będzie identyczny jak w pierwszym przypadku:

Brak komentarzy:

Prześlij komentarz