Word – wtyczka (makro) automatycznie usuwające wiszące spójniki

W poprzednim wpisie opisałem czym są wiszące spójniki i jak sobie z nimi radzić. Opisałem metodę ręczną i „półautomatyczną”. Jednak istnieje fajny sposób na usprawnienie pracy w Wordzie. Otóż możemy „przypiąć” przycisk w którego kliknięcie spowoduje automatyczne usunięcie wszystkich wiszących spójników z dokumentu.

Instalacja makra

Instalacja makra może wydawać się dość skomplikowana, ale na pocieszenie dodam, że robi się to tylko raz. Po zainstalowaniu makra i utworzeniu do niego skrótu wystarczy tylko kliknąć w odpowiedni przycisk, aby uruchomić makro.

Instalacja makra składa się z dwóch etapów: zaimportowania pliku makra do szablonu normal.dotm i (ewentualnie) podpięcia przycisku uruchamiającego makro pod pasek Szybki dostęp (Word 2007) lub (działa w Wordzie 2010 i nowszych) podpięcia pod wstążkę

Czytaj dalej
Zaszufladkowano do kategorii word - samouczki | Dodaj komentarz

Word – wiszące spójniki (jak usunąć spójniki z końca wiersza)

Pisząc tekst w Wordzie nie powinno się zostawiać pojedynczych spójników na końcu wiersza. Takie spójniki określa się mianem „wiszących spójników” lub „zawieszek”. Spotkałem się również z nazwą wiszące sierotki.

Wiszący spójnik nie jest błędem ortograficznym, ani gramatycznym, jednak jest to uznawane za błąd typograficzny.

Co ciekawe, owa reguła występuje tylko w języku polskim i czeskim. W pozostałych językach w ogóle nie jest znana, ani przestrzegana.

Jak sobie radzić z „wiszącymi spójnikami” (w trakcie pisania tekstu w Wordzie)

Widząc, że kursor zbliża się do końca wiersza i chcesz wstawić spójnik a wiesz, że następny wyraz za spójnikiem  już się nie zmieści w tym samym wierszu, to pomiędzy spójnikiem a kolejnym wyrazem należy wstawić „twardą spację” (zwaną też spacją niepodzielną). Aby wstawić „twardą spację” należy zamiast samej spacji wcisnąć kombinację klawiszy CTRL+SHIFT+SPACJA. Wtedy spójnik zostanie „przyklejony” do następnego wyrazu i jeśli następny wyraz zostanie przeniesiony do nowej linii, to będzie on przeniesiony wraz z „przyklejonym” spójnikiem.

Podobnie postępujemy z jednostkami miar. Gdy wpisujesz liczbę a po liczbie jednostkę (np. 10 kg) to pomiędzy liczbą a jednostką powinna się znajdować „twarda spacja”.

Problem pojawia się, gdy masz już napisany tekst. Można ręcznie go poprawić (tj. widząc na końcu wiersza „wiszący spójnik” możesz usunąć za nim spację i zamienić ją na twardą spację. Jednak nie jest to zbyt wygodne rozwiązanie, gdy tekst ma kilkanaście, bądź kilkadziesiąt stron. Oczywiście każdy inteligentny leń zacznie szukać jakiegoś sposobu na zautomatyzowanie tej monotonnej czynności. Można to zrobić na dwa sposoby: albo ręcznie skorzystać z okna dialogowego Znajdź i zamień, albo zainstalować gotowe makro.

Czytaj dalej
Zaszufladkowano do kategorii word - samouczki | Dodaj komentarz

Excel formuła do zmiany kwoty na tekst (kwota słownie bez użycia makr)

Czasami istnieje potrzeba zapisania pewnej kwoty słownie. Przykładowo osoby prowadzące działalność gospodarczą, które wystawiają maksymalnie kilka faktur miesięcznie bardzo często używają do tego celu Excela. Jest to bardzo wygodne rozwiązanie, ale w Excelu nie ma funkcji, która daną liczbę zamienia na jej słowny odpowiednik. Gdy wystawiasz jedną fakturę miesięcznie, nie jest problemem ręczne wpisanie kwoty słownie, ale wystawiając kilka faktur może to już być nieco uciążliwe.

Z pewnością znalazłeś na niejednej stronie proste makro, które dodaje do funkcji Excela niestandardową funkcję o nazwie np. Slownie. Ale nie zawsze możemy (lub nie chcemy) używać makr.

W tym celu opracowałem inne rozwiązanie. Otóż w Excelu od wersji 2013 w górę istnieje funkcja WEBSERVICE. Funkcja ta zwraca zawartość strony internetowej. Tak więc napisałem w języku PHP prostą stronę, która po wywołaniu z odpowiednim parametrem (kwota liczbowo) jako treść zwraca kwotę słownie. Przykładowo wpisując w przeglądarce internetowej adres:

Czytaj dalej
Zaszufladkowano do kategorii sztuczki | Otagowano , , , , , , , , , | 1 komentarz

Jak zamienić zeskanowany dokument na tekst

Czasami zachodzi potrzeba przepisania tekstu, który mamy na wydrukowanej kartce, lub musimy przepisać fragment z książki. Nie jest to zbyt przyjemna praca szczególnie, gdy owy tekst ma więcej niż dwie linijki.

Z pomocą przychodzą tutaj programy typu OCR (od ang. optical character recognition) co można przetłumaczyć optyczne rozpoznawanie znaków.

Programy typu OCR istnieją od wielu lat, jedne są płatne inne darmowe, czasami kupując skaner otrzymujemy na płycie CD oprócz sterowników jakiś program typu OCR. Jeśli nie chcesz instalować programu typu OCR (bo np. w biurze masz zablokowaną możliwość instalowania programów, albo Ci się nie chce instalować jakieś dodatkowe programy tylko po to, aby raz na kilka miesięcy zdigitalizować kilka zdań) możesz skorzystać z bezpłatnej strony internetowej na której zamienisz zeskanowany tekst na plik Worda.

Czytaj dalej
Zaszufladkowano do kategorii Pozostałe | Otagowano , , , , , , , | Dodaj komentarz

Steganografia w Excelu

Steganografia to nauka o sposobach ukrywania tajnego komunikatu w niepozornej informacji w taki sposób, aby obecność komunikatu nie została wykryta. W przypadku kryptografii mamy pewność, że tajna informacja została ukryta, natomiast w przypadku steganografii próbuje się ukryć fakt prowadzenia komunikacji.

Steganografia ma długą historię. Jednym z jej przykładów jest tekst zapisany atramentem sympatycznym. Atrament sympatyczny powoduje, że tekst jest niewidoczny do czasu, aż nie podgrzejemy kartki, lub nie użyjemy odpowiedniego środka chemicznego.

W formie cyfrowej informacje są ukrywane najczęściej w zdjęciach. Modyfikując najmniej znaczący bit składowych koloru piksela można w jawnym komunikacie przemycić tajną informację w taki sposób, aby oko ludzkie nie zauważyło, zmian dokonanych w pliku. Najlepiej do tego celu nadają się pliki grafiki rastrowej.

Excel i VBA (Visual Basic for Applications)

Excel (jak również inne programy z pakietu MS Office) ma możliwość rozbudowania własnej funkcjonalności dzięki makrom. Makra można „nagrywać” a Excel nagraną sekwencję czynności zamieni na kod VBA. Można również od razu pisać makra w „czystym” VBA.

Język VBA to nic innego jak uproszczona wersja języka Microsoft Visual Basic niestety, ale dość mocno jest okrojony względem oryginału. Od prawie dwóch dekad następcą Visual Basic’a jest VB.NET jednak w pakiecie Office pod tym względem nic się nie zmieniło i dalej mamy archaiczny VBA.

Wstępne informacje o makrze

Pobierz opisywane makro (35 KB)

W ramach pracy zaliczeniowej z pewnego przedmiotu napisałem dwa proste makra (w wspomnianym wyżej języku VBA) służące do ukrywania i wydobywania tajnych dokumentów w arkuszu Excela. Tajny komunikat został zapisany poprzez dokonywanie drobnych modyfikacji koloru dwóch najmniej znaczących bitów dla dwóch składowych koloru R (Red) i G (Green) dla koloru czcionki w kolejnych komórkach.

Dlaczego komunikat ukrywam tylko w dwóch składowych a nie we wszystkich trzech? Odpowiedź jest prosta: 2 składowe razy dwa bity daje nam 4 litery zakodowane w jednej komórce Excela. Więc jeden bajt jest zakodowany w dwóch sąsiadujących komórkach. Gdybym używał wszystkich 3 składowych, to wtedy jeden bajt byłby zakodowany w 1,5 komórki i algorytm byłby nieco bardziej skomplikowany.

Czytaj dalej
Zaszufladkowano do kategorii Kącik hakera | Otagowano , , | Dodaj komentarz

Funkcje daty i czasu

Pobierz plik zawierający przykładowe zadania z tego wpisu.

W tym wpisie skupie się na funkcjach operujących na datach i godzinach.

Funkcje DZIŚ() i TERAZ()

Funkcja DZIŚ() zwraca dzisiejszą datę. Co ciekawe, funkcja ta zawsze się aktualizuje gdy coś zmienimy w arkuszu, lub gdy arkusz jest otwierany, albo gdy wymusimy przeliczenie formuł (klawisz F9, lub na karcie Formuły wybierzemy polecenie Oblicz teraz). Można to łatwo sprawdzić: wpisz do dowolnej komórki =DZIŚ() zapisz plik w dowolnej lokalizacji, zamknij go i otwórz jutro. Twoim oczom ukaże się aktualna (a nie wczorajsza) data.

Czytaj dalej
Zaszufladkowano do kategorii funkcje | Otagowano , , , , , , , , , , | Dodaj komentarz

Obrót ekranu „do góry nogami”

Dzisiejszy wpis będzie nieco żartobliwy. Ten trik działa nie niektórych komputerach (zależy od tego, jakie mamy zainstalowane sterowniki do karty graficznej). Owa sztuczka działa tak mniej więcej na co drugim komputerze. Otóż naciskając magiczną kombinację klawiszy możemy spowodować, że obraz będzie na ekrany wyświetlany „do góry nogami”. Aby tego dokonać wystarczy nacisnąć magiczną kombinację klawiszy:

Czytaj dalej
Zaszufladkowano do kategorii Kawały biurowe | 1 komentarz

Sortowanie po nazwach miesięcy

Załóżmy, że mamy taką oto tabelkę z danymi:

Czyli prawdopodobnie wpisywaliśmy miesięczne obroty, a później posortowaliśmy dane według obrotu rosnąco. Następnie chcemy posortować dane z powrotem względem kolumny A. W tym celu wystarczy kliknąć w dowolną komórkę w kolumnie A i kliknąć w ikonkę AZ. No i tutaj następuje niespodzianka, gdyż Excel posortuje nam dane, ale alfabetycznie a nie „po miesiącach”.

Aby posortować dane „po miesiącach” należy się nieco nagimnastykować. Należy tutaj użyć sortowania niestandardowego wybierając opcję Lista niesnadardowa… Aby tego dokonać należy wykonać następujące czynności:

Czytaj dalej
Zaszufladkowano do kategorii excel - samouczki | Otagowano | Dodaj komentarz

Funkcja WARUNKI

Pobierz przykładowy plik z zadaniami z tego wpisu.

W Excelu 2019 pojawiła się nowa funkcja o nazwie WARUNKI, która w świetny sposób może zastąpić zagnieżdżoną funkcję JEŻELI.

Ranking sprzedawców

Załóżmy, że mamy w sklepie dwóch sprzedawców: Marka i Anię. W tabelce wpiszmy, ile klientów Ci sprzedawcy pozyskali w poszczególnych dniach. Chcemy, aby Excel w każdym wierszu podał imię sprzedawcy, który danego dnia pozyskał więcej klientów. Zadanie zrobimy na trzy sposoby.

Przejdź do komórki D2. Na początku zadanie wykonamy za pomocą dobrze znanej funkcji JEŻELI. Wpiszmy taką oto prostą formułę a następnie skopiujmy ją do pozostałych wierszy.

=JEŻELI(B2>C2; "Marek"; "Ania")

Funkcja JEŻELI przyjmuje trzy argumenty: test logiczny (pytanie); wartość jeśli prawda; wartość jeśli fałsz. Pierwszy argument to pytanie czy wartość w komórce B2 jest większa od wartości w komórce C2. W komórce B2 jest podana liczba klientów pozyskanych przez Marka. Jeśli warunek B2>C2 jest spełniony to pojawi się napis Marek w przeciwnym wypadku pojawi się napis Ania.

Niestety, ale funkcja JEŻELI ma pewną wadę: otóż mogą wystąpić tylko dwa przypadki: albo Marek pozyskał więcej klientów od Ani, albo Ania pozyskała więcej klientów. W przypadku gdy danego dnia oboje mieli tyle samo klientów na pytanie czy liczba w pierwszej komórce jest większa od liczby w drugiej komórce zostanie zwrócona wartość FAŁSZ czyli funkcja JEŻELI zwróci napis Ania.

Zagnieżdżając jedną funkcję JEŻELI wewnątrz drugiej możemy najpierw spytać się, czy obie komórki są sobie równe i wtedy Excel zwróci napis remis w przeciwnym wypadku wykona się druga funkcja JEŻELI, która z kolei sprawdzi kto pozyskał większą liczbę klientów. Niestety, ale taka funkcja jest mało czytelna (szczególnie, gdyby warunków było więcej).

=JEŻELI(B2=C2;"remis"; JEŻELI(B2>C2; "Marek"; "Ania"))

Pewnym rozwiązaniem jest funkcja WARUNKI, która przyjmuje parzystą liczbę argumentów: pierwszy argument to warunek (pytanie), drugi to wartość która ma być zwrócona gdy owy warunek jest spełniony. Możemy w sumie zdefiniować maksymalnie 127 warunków, ale w naszym przypadku będą tylko trzy.

=WARUNKI(B2=C2;"remis"; B2>C2;"Marek"; B2<C2;"Ania")
Czytaj dalej
Zaszufladkowano do kategorii funkcje | Otagowano , , , | Dodaj komentarz

Funkcja LICZ.JEŻELI i symbole wieloznaczne * i ?

Pobierz przykładowy plik z zadaniami z tego wpisu.

Załóżmy, że mamy taką oto prostą bazę klientów:

Za pomocą funkcji LICZ.JEŻELI możemy policzyć ile komórek w danym zakresie spełnia jakiś warunek. W poprzednim wpisie opisywałem proste warunki np. jeśli chciałbym policzyć ile mamy osób o imieniu Robert to funkcja będzie wyglądała następująco:

=LICZ.JEŻELI(A2:A14; "Robert")

 Owa funkcja jest bardzo przydatna, ale ma pewne ograniczenia. Przykładowo chcąc policzyć ile mamy osób, których imiona zaczynają się na literę M musimy skorzystać z symboli wieloznacznych. Być może z nimi wcześniej się spotkałeś w innych programach (np. w wyszukiwarkach plików). W Excelu w funkcjach wyszukujących można skorzystać z dwóch symboli wieloznacznych: gwiazdki i pytajnika

  • ? – oznacza jeden dowolny znak (Excel zamiast pytajnika podstawia we wzorcu wyszukiwania dowolny znak)
  • * – oznacza dowolny ciąg znaków (Excel zamiast gwiazdki podstawia dowolny ciąg znaków, ciąg ten może być pusty)

Być może zabrzmiało to bardzo naukowo, ale myślę, że kilkanaście poniższych przykładów dobrze zobrazuje to zagadnienie.

Czytaj dalej
Zaszufladkowano do kategorii funkcje | Otagowano , , , , | Dodaj komentarz