Archive for May, 2009

Excel - msgbox i makra

Tuesday, May 26th, 2009

Jakiś czas temu pisałem o tworzeniu makr i przycisków uruchamiających makra. Takie przypadki zakładały że nic złego nie może się stać i po prostu realizowały zadanie.

Może się zdarzyć - nawet często - że chcąc wykonać makro kasujemy jakieś dane zastępując je innymi. Taka sytuacja nie jest niczym szczególnym, ale jeśli użytkownik nie zdaje sobie sprawy że jego dane przepadną na skutek działania makra to może nam to przysporzyć problemów. Poinformowanie go o konsekwencjach uruchomienia i pozostawienie mu wyboru to pierwsze z zastosowań okienek msgbox

Drugim zastosowaniem msgbox jest poinformowanie użytkownika o tym że działanie makra zakończyło się powodzeniem (lub niepowodzeniem) i co trzeba robić dalej.

Okna msgbox mogą być wywoływane jako funkcja, która zwraca wartość do zmiennej (wówczas stosujemy nawiasy) lub po prostu jako funkcja z parametrami, która wyświetla okno i nic więcej się nie dzieje (wówczas nie stosujemy nawiasów dla parametrów).

Ogólna postać funkcji przedstawia się następująco:

msgboxexcel1.png

Opiszę na początek prostszy przypadek (z drugiego zastosowania msgbox)

Makro informuje o tym co zrobiło i co teraz powinien zrobić korzystający z makra.

informacje w cudzysłowach mogą być zastąpione zmiennymi typu string które zmieniają wartość w zależności od przebiegu makra.

MsgBox “Sformatowałem obszar od A1 do F12. Kliknij Ok aby kontynuować”, vbInformation, “uwaga”

Taki tekst umieściłem w kodzie makra na samym końcu tuż przed słowami kluczowymi End Sub

Efektem wpisania kodu msgbox jest pojawienie się poniższego okienka po zakończeniu działania makra

msgBox info

Wyboru rodzaju okna dokonuje się przez wybranie odpowiedniego atrybutu w parametrze Buttons funkcji msgbox.

Teraz trudniejszy przypadek.

W poniższym przykładzie wykorzystujemy zmienną która od funkcji msgbox “przejmie” wynik “PRAWDA”(true) lub “FAŁSZ”(false) co odpowiada przyciskom OK i Cancel w poniższym przypadku.

Tworzymy zmienną potwierdzenie

Dim potwierdzenie

Teraz zmienna przejmuje Odpowiedź użytkownika z funkcji msgbox.

potwierdzenie = MsgBox(”Grozi skasowaniem danych. Czy kontynuować ?”, vbOKCancel, “Uwaga”)

Wyrażenie If potwierdzenie then jest równoważne If potwierdzenie=True then więc sobie skróciłem :)

Warunek if powinien obejmować w tej sytuacji całą oryginalną treść makra (czyli tą zarejestrowaną względnie zmodyfikowaną ręcznie bez funkcji msgbox)

If potwierdzenie Then 

….realizuje zawartość Makra…


    Range(”D4:D17″).Select
    Selection.Copy
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = “v”
    Range(”D4:D17″).Select
    Range(”D5″).Activate

End If

Jeżeli ktoś kliknie cancel makro nie wykona się a w każdym razie część makra objęta warunkiem if

Wstawianie okien msgbox daje spore pole do popisu. Główne zadania jakie widzę dla tej funkcji to lepsza informacja, nawigacja i ostrzeżenia. Statyczne napisy ostrzegawcze nie dają takiej pewności skupienia uwagi użytkownika jak msgbox. Jeśli jest rozważnie stosowane może zwiększać poczucie bezpieczeństwa i zaufanie do twórcy makra.

W przykładach wykorzystałem jedynie wąski wycinek możliwości tej funkcji

Więcej na temat funkcji msgbox można przeczytać na stronie http://dzono4.webpark.pl/basic/opisvb/msgbox.htm

Informacja i mała reklama

Friday, May 22nd, 2009

Ciąg dalszy wpisów na temat aplikacji online znajduje się pod adresem

http://dariusztupaj.wordpress.com

————————————
Wszędzie tylko wydatki ? - zobacz jak można zaoszczędzić - WEJŚCIE

Mozilla Prism

Wednesday, May 20th, 2009

Mozilla prism realizuje ideę podobną jak Google Chrome czyli każda strona działa jako odrębna aplikacja. Jest to rzeczywiście dobre rozwiązanie dla aplikacji online takich jak Gmail, Facebook, Pixlr, twitter, Flickr itp.
Aplikacje pracują w swoich swoich oknach i ryzyko że aplikacja zawiesi się wskutek złego działania innej strony w przeglądarce spada do zera.  Wygoda polega też na tym że każda aplikacja online uruchamia się z osobnego skrótu na pulpicie lub w menu start.

Po uruchomieniu widzimy tylko interfejs danej aplikacji dzięki czemu nie przytłacza nas duża ilość zakładek, kart i pasków menu a to pozwala się skupić na wykonywaniu zadania.
Mozilla Prism jest dostępna jako aplikacja systemu windows (innych systemów także) lub jako rozszerzenie Firefoxa. Można ją pobrać ze strony http://prism.mozilla.com/

Warto wypróbować, ja zainstalowałem prism jako rozszerzenie Firefoxa.

Programy i web-dyski do backupu plików

Sunday, May 17th, 2009

Ostatnio pisałem o sposobach na unikanie lokalnych problemów z plikami, komentarz uzmysłowił mi potrzebę choćby wspomnienia o dyskach webowych do robienia kopii zapasowych. Do tych które już wspomniałem chcę dodać autobackup.pl. Daje on 3GB wolnego miejsca do backupu  w wersji rozszerzonej przez  3miesiące po założeniu konta i 1GB w wersji darmowej i program do automatycznego robienia backupu.

Adrive.com o którym wspomniałem we wczorajszym wpisie jest anglojęzyczny ale oferuje w wersji darmowej 50 GB na umieszczanie swoich plików. Posiada też kilka ciekawych właściwości jak na darmową wersję dysku o tak dużej pojemności.
 
Chomikuj.pl nie stawia ograniczeń w kwestii ilości i wielkości umieszczanych plików, Własne dane można wysyłać i odbierać bez naruszania transferu. Ograniczenie dotyczy plików “zachomikowanych” od innych użytkowników. Transfer tygodniowy wynosi 50MB za niewielką dopłatą (przez sms) można go zwiększyć do 1GB.
Gdyby Chomikuj.pl dało się potraktować jedynie jako zdalny dysk byłoby to bardzo dobre narzędzie. Serwis po części przypomina serwisy społecznościowe typu “nasza klasa”, a po części programy typu P2P.

Zaznaczam jednak że z punktu widzenia robienia kopii zapasowych jest to dobre narzędzie bo pozwala zablokować dostęp do prywatnych treści. Tak czy inaczej zbyt ważnych danych bym tam nie umieszczał (mam na myśli serwis chomikuj.pl).

5 wskazówek jak uniknąć problemów z utratą plików

Thursday, May 14th, 2009

W wyniku czego możemy utracić pliki

1. Zerwanie zasilania podczas pracy nad danym plikiem w określonym programie
(excel, word, powerpint, openoffice itp.)

2. Nieumyślne skasowanie wraz z innymi plikami lub współużytkownik komputera miał dostęp do naszego katalogu i wykasował z niego pliki.

3. Awaria dysku w komputerze.

4. Przetrzymujemy tylko jeden egzemplarz pliku na pendrive, który zostaje skradziony lub nam ginie.

5. Wirus na komputerze zmusza nas do sformatowania dysku (bo nie ma innego sposobu przywrócenia komputera do pracy) a nasz plik znajduje się jedynie na partycji systemowej.

Teraz  - jak tego uniknąć.

1. Na zerwanie zasilania mamy nie wielki wpływ, chyba że posiadamy laptopa z baterią wewnątrz albo ups (to jest wydatek rzędu kilkuset złotych). Aby zmniejszyć prawdopodobieństwo utraty pliku włączmy opcję autozapisu na najkrótszy możliwy odstęp czasu. Oprócz tego możemy sami ręcznie zapisywać plik po każdej istotnej zmianie.

2. Nie trzymajmy ważnych plików w gęstwinie innych na przykład pomiędzy ikonami na pulpicie. Najlepiej utworzyć odrębny katalog dla danego pliku i ustawić prawa dostępu do niego tak by nikt inny nie mógł celowo lub mimowolnie go usunąć.

Prawa dostępu
W systemach Vista (Home Premium) i XP wygląda to dość podobnie. Poniżej przykład w Viście. Klikamy prawym klawiszem na katalogu z menu wybieramy właściwości. Następnie w oknie wybieramy zakładkę Zabezpieczenia i klikamy Edytuj (w XP Professional dostęp do tego okna jest bezpośrednio w Zabezpieczeniach)

W tej sytuacji tylko administrator względnie właściciel pliku mogą coś z nim zrobić to znaczyzapisać zmiany, skasować.
Dzieje się tak bo i katalog i pliki w nim są objęte ochroną dzięki funkcji dziedziczenia (domyślnie jest ona włączona)

Jeśli bardzo pragniemy mieć szybki dostęp do pliku  - istnieje na to sposób:

3. Awaria dysku w komputerze (mechaniczna lub elektroniczna) niezależnie od jej rodzaju jest raczej trudna do przewidzenia, jednak można podjąć czynności, które zmniejszają to ryzyko.
Po pierwsze nie należy narażać komputera na wstrząsy podczas pracy dysku, jeśli komputer jest wyłączony  wstrząsy są zwykle nieszkodliwe. Całkiem spokojni w tej kwestii mogą być jedynie posiadacze dysków SSD, ale takich jest na razie jeszcze mało.

Po drugie wyposażyć się w listwę antyprzepięciową (rozdzielacz z filtrem), a  wypadku wyładowań atmosferycznych całkowicie odłączyć komputer od jakiejkolwiek styczności z siecią (zarówno elektryczną, jak i telefoniczną i ethernetową).

Jeżeli masz kieszeń na dysk to jego wyjęcie powinno się odbywać tylko po wyłączeniu komputera.
Jeśli masz wątpliwości co do prawidłowego uziemienia komputera lepiej o to zadbaj (poproś wykwalifikowanego elektryka o sprawdzenie). Nie uzmieniony właściwie komputer z czasem zacznie niespodziewanie się wyłączać wskutek występowania napięcia tam gdzie nie powinno go być. Brak skutecznego uziemienia może grozić też zdrowiu i życiu.

4. Trzeba zacząć od tego że trzymanie ważnego pliku tylko w jednym miejscu jest co najmniej nierozsądne. Zawsze zrób przynajmniej jedną kopię pliku spakuj go nagraj na inny nośnik (upewnij się że da się odczytać) lub umieść na dysku internetowym (adrive.com, chomikuj.pl itp) lub FTP jesli posiadasz.
Zawsze może się zdarzyć niespodziewania awaria któregoś z wymienionych nośników, ale prawdopodobieństwo jednoczesnego wystąpienia na dwóch lub trzech jest dużo niższe.

5. Nigdy nie trzymaj ważnych plików jedynie na partycji systemowej. Stwórz katalog na innej niesystemowej partycji dysku. Zawirusowanie komputera zmusza często do reinstalacji systemu. W tej sytuacji wszystkie Twoje pliki przepadają bez śladu.