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