Moje doświadczenia z Excelem, Accesem i programowaniem w VBA
wtorek, 04 lipca 2017

W jaki sposób włączyć/wyłączyć powiadomienia o dostarczeniu i odczytaniu wiadomości przesyłanych za pomocą Outlooka? Odpowiednie ustawienia znajdziemy na karcie Plik --> Opcje.

Opcje Microsoft Outlook

Dalej wybieramy Pocztę:

Opcje Microsoft Outlook

Po wybraniu tej opcji - w okienku po prawej stronie możemy wybrać odpowiednie ustawienia. Śledzenie znajduje się raczej na dole:

 Opcje śledzenia

kliknij na obrazek, aby go powiększyć

Dwa pierwsze pola wyboru odpowiadają za ustawienia wiadomości wysyłanych - tu decydujemy, czy chcemy otrzymywać potwierdzenia dostarczenia i/lub odczytania.
Kolejne opcja dotyczy tego, czy sami chcemy wysyłać potwierdzenia. tu do wyboru mamy jedną z 3 opcji - automatycznie możemy je wysyłać zawsze, nigdy lub w stosunku do każdego maila z takim żądaniem potwierdzenia podejmować osobną decyzję. W przypadku tej trzeciej opcji po odczytania takiego maila pokaże się okienko, w którym wybieramy Tak lu Nie.

Opcje śledzenia

 

 


 


 

Kurs Outlook - efektywna praca

Tagi: mail outlook
08:12, marzatela , Różne
Link Dodaj komentarz »
piątek, 23 czerwca 2017

Tym razem moja oferta - dodatek Excela będący generatorem kodu QR.

Działa tak:


Szczegóły i wersja demo do pobrania są tu:

 Generator QRCode

Zapraszam.

11:54, marzatela , Excel
Link Dodaj komentarz »
środa, 24 maja 2017

Ostatnio dotarł do mnie plik ze zdjęciami. Było ich kilkanaście, oprócz tego zapisane dane (nic wielkiego - ok.200 wierszy w 6 kolumnach). Wydawać by się mogło, że nie powinien być zbyt wielki, a jednak - w wersji xls miał rozmiar ok.35 Mb. Nie udało się go nawet przesłać pocztą.
Taka wielkość pliku z pewnością niekorzystnie wpływa na pracę w pliku, znacząco obciąża pamięć operacyjną i tak naprawdę - trudno w nim cokolwiek zrobić.
Podstawową przyczyną tego wielkiego rozmiaru były właśnie te zdjęcia i od tego właśnie zaczęłam optymalizację pliku.

Jak się do tego zabrać? Wstawiając do skoroszytu Excela zdjęcia, obrazy czy pliki graficzne - musimy dokonać ich kompresji. Sposób działania w takich przypadkach pokazuję tu:

Rozwiązanie proste, a jednocześnie skuteczne.


poniedziałek, 01 maja 2017

W niektórych plikach Excela znajdują się łącza do innych plików. Najczęściej są to działania świadome i celowe, pozwalające np. na agregację danych z różnych arkuszy/skoroszytów. Czasem jednak zdarza się, że łączy teoretycznie nie powinno być, a jednak są widoczne. W dodatku ich odnalezienie jest trudne, nie można ich także przerwać.

łącza skoroszytu 

Wprawdzie można wyłączyć aktualizację łączy, ale to tylko maskuje, a nie rozwiązuje problem. Brak komunikatów nie załatwia sprawy.
W tego typu przypadkach najczęściej okazuje się, że łącza do innego pliku wcale nie są wstawione bezpośrednio w komórkach, a nieco bardziej "zagnieżdżone". Na początek warto więc sprawdzić:

  • ustawienia poprawności danych
    kto wie, czy na którejś z list nie ma odwołania do innego pliku?
  • formatowanie warunkowe
    tu też mogą być łącza

Tego typu sytuacje mogą się zdarzyć, gdy na przykład kopiujemy jakiś zakres komórek z innego skoroszytu, zapominając o tym, że jest tam zdefiniowana lista poprawności danych (przećwiczyłam to na sobie).
Jeśli plik jest mało rozbudowany - można to znaleźć ręcznie, choć czasem trzeba się naszukać. Gorzej, gdy plik zawiera wiele arkuszy, w każdym jest sporo danych i wykresów. Wówczas znalezienie takich odwołań może być naprawdę bardzo pracochłonne. Na takie przypadki jest specjalny dodatek Billa Manville'a:

FindLink

Trafiłam na niego dzięki pomocy przyjaciół z ExcelForum.pl  (to naprawdę najlepsze forum Excela). Zainstalowałam, zastosowałam i problem z dziwnymi łączami zniknął. Teraz dodatek nadal jest zainstalowany w moim Excelu, widać go na karcie Dodatki. I przydaje się.

A tu na wszelki wypadek link do filmiku pokazującego jak zainstalować dodatek w Excelu:

Instalacja dodatku Excela


Kurs Excel - zaawansowane techniki

poniedziałek, 10 kwietnia 2017

W ramach promocji świątecznej, w dniach 10 - 12 kwietnia 2017r., pakiety kurs video + ebook tańsze o 30%. 

Świąteczna promocja

Warto skorzystać.

Osobiście polecam kursy, które sama znam i opisałam je tu:

Kursy video

Szczegóły promocji są tu:

Wielkanocna promocja


niedziela, 19 marca 2017

Tylko do końca dnia 19 marca 2017 - dobre kursy komputerowe w bardzo obniżonych cenach:

Wiosenna wyprzedaż 

Warto zajrzeć.

wtorek, 21 lutego 2017

Przez ostatnich kilka lat współpracowałam z jednym z portali elearningowych. Publikowałam tam swoje autorskie szkolenia z VBA w Excelu. Niestety, kilka miesięcy temu portal zniknął z sieci, nawet nie udało mi się wyśledzić co się z nim stało. I tym sposobem pozostały mi materiały (nie wszystkie, ale sporo), które w tej chwili są zupełnie niewykorzystywane. Trochę mi ich szkoda - po małych przeróbkach można je wykorzystać, może się komuś przydadzą? A ponieważ większość z tych materiałów to filmiki, na swoim koncie YouTube założyłam kanał, gdzie będę je sukcesywnie publikować.

Na początek kurs "VBA dla początkujących" czyli kurs dla tych, którzy chcieliby zacząć swoją przygodę z VBA. Link jest tu:

VBA dla początkujących

Zapraszam do subskrypcji.

21:56, marzatela , VBA
Link Dodaj komentarz »

Wyobraźmy sobie arkusz Excela z kodem reagującym na zdarzenia arkusza. W zależności od tego, jaki jest to kod, jego wykonywanie bardzo łatwo może generować kolejne i zupełnie niepotrzebne zdarzenia arkusza.
Załóżmy, że mamy oprogramowane zdarzenie arkusza, które po zmianie wartości w komórce kolumny A w sąsiadującej z nią komórce kolumny B wstawia datę. Przykładowy kod takiej funkcji wygląda tak:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        Target.Offset(0, 1) = Date()
    End If
End Sub


 

 

 

W trakcie wykonywania kodu, po wstawieniu wartości w kolumnie B następuje wykrycie zdarzenia "przy zmianie" i następuje ponowne uruchomienie makra (mimo, że pierwsze nie doszło jeszcze do końca). W tym przypadku akurat może być praktycznie niezauważalne, ale jeżeli takich zmian jest więcej - owszem. W ekstremalnym przypadku może to doprowadzić do zapętlenia kodu.

Chcąc tego uniknąć musimy na czas wykonywania kodu po prostu wyłączyć obsługę wykrywania zdarzeń. Wykorzystujemy do tego właściwość obiektu Application - EnableEvants. Jest to właściwość typu Boolean czyli może przybierać wartość Prawda lub Fałsz. Ustawiamy ją tak:

Application.EnableEvents=False          'wyłączenie obsługi zdarzeń

Application.EnableEvents=True            'włączenie obsługi zdarzeń

Wykorzystując w kodzie makra jw. mamy więc:

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 1 Then
   Application.EnableEvents = False
   Target.Offset(0, 1) = Date()
   Application.EnableEvents = True
 End If

End Sub


 

 

 

 

 

I już. Na czas wykonywania kodu obsługa zdarzeń jest wyłączona - wstawienie daty w komórce sąsiadującej nie wywoła w tym przypadku ponownej reakcji na zdarzenie.



wtorek, 17 stycznia 2017

Poprzednia notka na blogu poświęcona była dobrym praktykom przy tworzeniu aplikacji Access, tym razem kilka rad jakich zasad trzymać się przy pisaniu kodu VBA (czy to w Accessie czy w Excelu).

Na wszelki wypadek uprzedzam, że są to rady wynikające z moich własnych doświadczeń - stosuję je na co dzień i sprawdzają się. Generalnie jednak uważam, że nie ma jedynie słusznego sposobu tworzenia oprogramowania, choć pewne zasady powodują, że kod jest bardziej optymalny, a aplikacja działa szybciej i wydajniej.

  • na początku każdego modułu warto wstawić Option Explicit. Pozwoli to na zabezpieczenie przed literówkami w nazwach zmiennych i procedur;
  • żadnych polskich literek w nazwach funkcji, procedur czy zmiennych - tak jest naprawdę bezpieczniej i kod nie wysypie się przy uruchomieniu na komputerze z inną wersją językową;
  • ponieważ słowa kluczowe VBA są ściśle związane z językiem angielskim, nadając własne nazwy (procedur, funkcji, zmiennych) lepiej używać oznaczeń bardziej przypominających słowa polskie. Pozwoli to na łatwe wyłapanie w kodzie tych nazw, które sami zdefiniowaliśmy od tego, co jest zdefiniowane w bibliotekach VBA;
  • makra w aplikacjach Access lepiej napisać lub przekonwertować do kodu VBA - działają szybciej;
  • w aplikacjach Excel przy nagrywaniu makra najczęściej pojawiającym się obiektem jest Selection - modyfikujmy nagrany kod tak, aby tego uniknąć. Nie tylko spowalnia działanie, ale także często powoduje niepotrzebne miganie ekranu;
  • przy bardziej skomplikowanych aplikacjach warto podzielić kod na kilka różnych modułów i nadać im własne nazwy - odszukamy wówczas moduł z funkcjami, kodem wejściowym itp.
  • korzystajmy z obsługi błędów - to się zawsze sprawdza;
  • kompilujmy kod - od razu wyłapiemy jego błędy.

To takie podstawy. Ja wykorzystuję na co dzień i się sprawdzają.



 

Kurs Excel programowanie w VBA Kurs Access - programowanie w VBA

 

Excel 2013 i programowanie VBA

Tagi: aplikacja
12:21, marzatela , VBA
Link Dodaj komentarz »
wtorek, 03 stycznia 2017

Każdy tworzący aplikacje w Accessie ma swoje własne przyzwyczajenia i zasady tworzenia. Moim zdaniem nie ma jedynie słusznych rozwiązań, różne drogi prowadzą do tego samego celu. Owszem, są metody mniej lub bardziej optymalne, działające szybciej lub wolniej, ale najczęściej nawet nie widać różnicy, szczególnie przy prostych aplikacjach.

Ja też mam swoje przyzwyczajenia i sposoby tworzenia aplikacji - takie własne dobre praktyki. Może komuś się przyda?

  • nazwy tabel, kwerend i formularzy nie powinny mieć takich samych nazw. Wprawdzie od wersji chyba Access 2007 jest to możliwe, ale jeśli odwołujemy się do jakiegoś obiektu, lepiej wiedzieć czy chodzi tu o tabelę czy kwerendę. Jeśli mamy np. tabelę Spis - warto zapisać ja pod nazwą np.TbSpis, związaną z nią kwerendę - KwSpis, a formularz - FrSpis.
    W podobny sposób - wszystkie inne obiekty. W ten sposób na pewno się nie zgubimy, nawet gdy obiektów jest dużo;
  • żadnych polskich literek w nazwach obiektów i nazwach pól. Teoretycznie tu też nie ma zakazu, ale wszystkie te ogonki mogą być źródłem problemów. Polskie znaki diaktryczne można za to wpisywać w tytułach kolumn, pól itp. Efekt końcowy np. na formularzu będzie taki sam, a unikamy w ten sposób ewentualnych błędów przy uruchomieniu aplikacji na komputerze w innej wersji językowej;
  • nazwy obiektów, pól itd. lepiej gdy są jednowyrazowe. Czyli zamiast np. Marka samochodu można wykorzystać nazwę MarkaSamochodu - to metoda zapisu "na wielbłąda". Moim zdaniem dobrze się sprawdza;
  • wszystkie nieprzypisane formanty na formularzu (przyciski poleceń, pola kombi itp.) powinny mieć swoje własne nazwy mniej więcej opisujące ich zawartość. Zamiast Polecenie1, Polecenie2 ... lepiej stosować nazwy typu PolecenieWyjscie, PolecenieWydruk itp. Przy większej ilości formantów na pewno w ten sposób się nie pogubimy;
  • nie jest to regułą, ale przy wprowadzaniu danych bardzo często stosuję pusty, niezwiązany formularz. Przy wypełnianiu poszczególnych pól stosuję kontrolę poprawności danych, a dopiero później wprowadzam dane do tabeli/tabel kodem VBA.

To takie podstawy. Ja wykorzystuję na co dzień i się sprawdzają.


 

Kurs Access 2007 

 

Tagi: aplikacja
23:25, marzatela , Access
Link Dodaj komentarz »
 
1 , 2 , 3 , 4 , 5 ... 36
| < Lipiec 2017 > |
Pn Wt Śr Cz Pt So N
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            


Książki warte polecenia
zobacz szczegóły...


A tu oferta na dziś:





ministat liczniki.org



Napisz do mnie!