Tablice VBA – Helion

Jeżeli już biorę się za recenzję, to żeby coś polecić. Dzisiaj chciałbym zwrócić uwagę na coś co mogę polecić bardzo szczerze, „Tablice informatyczne. VBA dla Excela” z Heliona. Oczywiście z takich tablic trudno będzie się nauczyć VBA, ale już na przykład po moim kursie takie tablice będą niezbędną pomocą dla programisty na każdym poziomie.

Nawet najbardziej doświadczony programista musi czasem poszukać w
internecie informacji o podstawowych elementach języka. Jak wyciągało się część ciągu znaków, jak pisze Case, jaki zakres ma Long itd. Co prawda można to szybko znaleźć w internecie, ale jeszcze szybsze (i wiarygodniejsze) są omawiane tutaj tablice.

Czytaj więcej...

Kurs VBA – Klasy – konstruktory i desktruktory

Najważniejsze klasy modelu obiektowego Excela mają przypisane zestawy zdarzeń. Klasy użytkownika mają tylko dwa zdarzenia. Nazywają się konstuktor i destkruktor. Pierwsze uruchamia się w momencie inicjalizacji klasy, drugie w momencie jej deinicjalizacji.

Deklaruje się je następująco w module klasy:

Procedurę Class_Initialize nazywamy konstruktorem a procedurę Class_Terminate destruktorem.

Używam teraz moją klasę w krótkim programie.

Po uruchomieniu pokażą się kolejno trzy komunikaty:

Czytaj więcej...

UDF – formuły z funkcjami użytkownika

Za pomocą UDF (user defined functions, funkcje zdefiniowane przez użytkownika) programista może stworzyć nowe funkcje do użycia w formułach. W poniższy sposób używam moją nową funkcję:

Kod znajduje się w module VBA:

Tworzy je się tak samo jak zwykłe funkcje VBA. Umieszczone w module kodu mogą być używane w tym samym pliku. Można je też dodać do pliku personal  lub dodatku. Funkcje UDF podlegają jednak kilku ograniczeniom.

Czytaj więcej...

Jedna strona poziomo

Poniżej pokażę jak umieścić część dokumentu w poziomej orientacji. Po co? Mi się ta funkcja przydaje przy pisaniu długich dokumentacji z rysunkami i diagramami. Zdarza się, że jakiś diagram jest znacznie czytelniejszy poziomo. Mogę ustawić osobną sekcję na jedną stronę i zmienić orientację na poziomą tylko dla tej strony.
Wygląda to bardzo dobrze na komputerze i nie utrudnia w żaden sposób drukowania.

Instrukcja

Tworzę nowy dokument i zapisuję kilka zdań na pierwszej stronie. Dla testów można użyć losowy tekst lorem. Zaznaczam środkową część tekstu:

Czytaj więcej...

Kurs VBA – Klasy – Atrybuty i właściwości

Zastanawiałem się przez jakiś czas czy atrybuty i właściwości podzielić na dwa osobne posty. Występują one bardzo często razem i poza klasą używa się je tak samo, jednak należy pamiętać, że są to dwie osobne funkcjonalności klas.

Atrybuty określają aktualny stan obiektu. Dla przykładowej klasy Samochód może to być:

  • Prędkość
  • Pojemność
  • Czy drzwi są zamknięte?
  • Czy światła są zapalone?
  • Stan oleju

Spójrzmy na taką (bardziej praktyczną) instrukcję:

Mamy tutaj atrybut, zadeklarowany następująco w module klasy.

Przybiera wartość True, jeżeli plik jest otwarty lub False, jeżeli zamknięty. W metodzie otwierającej plik ustawiamy ten atrybut na True. Mogę więc napisać gdzieś:

Czy ma w takim razie sens poniższa instrukcja?

Pozornie ma sens, jest jednak niebezpieczna. Ostatecznie zamykanie pliku nie może się ograniczać do ustawienia wartości jakieś zmiennej, plik należy zapisać. Z pomocą przychodzą właściwości, dzięki którym możemy tworzyć coś pomiędzy atrybutami a metodami. Poza klasą używa się je jak atrybuty. W środku klasy jest to jednak szereg wykonywanych instrukcji. Utworzę więc właściwość:

Dzięki temu powyższe przypisanie wartości False uruchamia instrukcje, które wywołują metodę CloseFile.

Czytaj więcej...

Office lens – skanowanie telefonem

Natrafiłem ostatnio na ciekawą aplikację do skanowania dokumentów telefonem. Nazywa się Office Lens i jest dostępna za darmo w sklepach z aplikacjami. Zajmuje ledwo 50 mb, więc jeśli wolisz spróbować ją sam zamiast rozczytywać się nad moimi obserwacjami, to zapraszam do ściągnięcia, warto.

Ogólnie

Pierwsze co się rzuca w oczy, to uprawnienia, o które prosi aplikacja. Potrzebne jej do działanie jedynie dostęp do robienia i zapisywania zdjęć. Jest to miłe zaskoczenie. Nie lubię, kiedy małe aplikacje żądają dostępu do smsów, telefonu, tożsamości czy kontaktów. Przejmują wtedy praktycznie kontrolę nad telefonem.
Jakość działania mobilnego skanera z pewnością jest zależna od jakości aparatu w telefonie. Osobiście testowałem program na Xperi Z5 Compact z aparatem 23Mpx, czyli raczej dobrym sprzętem. Z drugiej jednak strony o sile aplikacji decydują algorytmy programu, a te działają świetnie.

Czytaj więcej...

Organizowanie mejli

Dzisiaj chciałbym się podzielić kilkoma ustawieniami Outlook, które na co dzień bardzo ułatwiają mi ogarnięcie zalewu mejli. Dzięki temu rzeczy nie załatwione zawsze mam na górze listy. Wygląda to jak poniżej.

Na górze listy widać mejle oznaczone flagą, są tak oznaczone wszystkie nowe mejle. Po załatwieniu sprawy klikam flagę i mejl spada poniżej. Dzięki temu każda nie załatwiona sprawa jest na górze, nawet jeżeli mejl przyszedł miesiąc temu.

Powyższy efekt można ustawić dzięki dwóm ustawieniom.

Czytaj więcej...

Po migracji Blogger – WordPress

Chociaż czeka mnie jeszcze przeglądanie/porządkowanie jakieś setki postów, transfer można jednak uznać za zakończony. Jeżeli coś nie działa, będę wdzięczny za komentarze. Poniżej wymieniłem wprowadzone nowe elementy/funkcje oraz kilka wniosków po transferze.

  • Nowe logo.
  • Nowy, czytelniejszy układ strony
  • Kod będzie teraz formatowany jak poniżej.
  • Czytaj więcej...

    Zmiany, zmiany, zmiany

    Aktualizacja piątek:

    Jak widać, blog jest już przeniesiony. Zajmie jednak jeszcze niego czasu wprowadzenie wszystkich poprawek.

    Aktualizacja czwartek:
    Dodawanie komentarzy zostało zablokowane do końca tygodnia.

    Co się dzieje?

    W nocy z piątku na sobotę blog będzie niedostępny/ trudno dostępny/rozsypany.

    Dlaczego?

    W celu zwiększenia satysfakcji czytelników .. bla bla przenoszę blog z platformy Blogger na WordPress. Da to możliwość dostarczenia wielu nowych ciekawych funkcji. Planów mam w każdym razie całą górę.

    Czytaj więcej...