piątek, 17 kwietnia 2015

Jak sprawdzić nazwy arkuszy w zamkniętym pliku Excel?

Szukając odpowiedzi na pytanie z tytułu nasuwa się jedna prosta- otworzyć plik :) ...jednak zdecydowanie nie tego rozwiązania poszukujemy w tym momencie. Chciałbym zaprezentować technikę, która umożliwia odczyt i weryfikację nazw wszystkich arkuszy we wskazanym skoroszycie, ale bez otwierania tego pliku. Aby wykonać powyższe zadanie będziemy wykorzystywać zaawansowaną technikę z obszaru ADODB okreśalną mianem ADOX (Activex Data Objects Extension). Wykorzystanie ADOX umożliwia nam odczyt parametrów bazy danych oraz modyfikację struktury bazy danych przez usuwanie tabel, dodawanie nowych tabel o określonych polach, itp. Szereg informacji na temat ADOX znaleźć można na stronie Microsof MSDN, np. tutaj. W celu stworzenia skutecznego rozwiazania naszego zadania pierwszy krok naszego działania to ustawienie referencji do biblioteki ‘Microsoft ADO Ext. 2.8 for DDL and Security’ (przypomnę, referencję ustawiamy w środowisku VBA >> Menu >> Tools >> References... >> odnajdujemy bibliotekę, zaznaczamy i akceptujemy OK). Potrzebna będzie nam także podstawowa biblioteka ADO w celu ustanowienia połączenia z naszym plikiem Excela, czyli dodatkowo ustawiamy referencję do zasobów ‘Microsoft ActiveX Data Objects 2.8 Library’. Poniżej prezentuję rozwiązanie, które listuje do okna Immediate wszystkie arkusze wskazanego pliku XLSM. Dodatkowe informacje na temat nowych obiektów i ich rola zostały opisane w formie komentarzy w kodzie poniżej.

Brak komentarzy:

Prześlij komentarz