Co to są makra?
REKLAMA:
Jeśli chcesz się nauczyć tworzyć strony internetowe, a nie masz o tym
pojęcia wejdź na bezpłatny blog
www.VideoWebmaster.pl
Jeśli już potrafisz tworzyć strony internetowe, wejdź na blog z poradami dla
średnio-zaawansowanych webmasterów
www.PomocnikWebmastera.pl
|
Wiele osób, które używają Worda, albo Excela zastanawia się, co to
są makra. Często zdarza się tak, że mając jakąś monotonną czynność do zrobienia
biedny użytkownik się męczy, zamiast napisać makro. Makra są wręcz idealne do
wykonywania monotonnych czynności. Poniżej zaprezentuję kilka ciekawych przykładów.
Często w pismach urzędowych nie wolno pozostawiać spójnika na końcu
linijki (np. w, z, na itp.). Często o tym zapominamy i sobie przypominamy o tym po
napisaniu pisma. Oczywiście można zawsze po każdym spójniku używać niepodzielnej
spacji (CTRL+SHIFT+SPACJA) i wtedy jeśli spójnik ma być na końcu linii, to
automatycznie zostanie wciągnięty do nowej linii (bo pomiędzy spójnikiem a wyrazem za
spójnikiem jest niepodzielna spacja). Tylko że ja jestem nauczony stawiać normalne
spacje a nie niepodzielne i tu jest problem: po napisaniu pisma muszę sprawdzać, czy są
jakieś spójniki na końcu linijek i ewentualnie wstawiać niepodzielne spacje, jak nie
daj Boże zmienię rozmiar czcionki, to cała zabawa zacznie się od nowa. Pół biedy,
jeśli to pismo ma 1 stronę, ale jeśli ma 20, to czeka mnie kilkanaście
(kilkadziesiąt) minut ciężkiej pracy. A przecież można napisać proste makro, które
odwali czarną robotę za mnie. Poniżej prezentuję treść przykładowego makra:
'Główna procedura
Sub UsuwajSpojnikiZKoncaLinii()
Call Niepodz("z")
Call Niepodz("w")
Call Niepodz("na")
Call Niepodz("do")
Call Niepodz("po")
Call Niepodz("od")
Call Niepodz("i")
Call Niepodz("o")
Call Niepodz("a")
End Sub
'procedura pomocnicza
Sub Niepodz(P As String)
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = " " + P + " "
.Replacement.Text = " " + P + Chr$(160)
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Uwaga: tutaj jest najnowsza, poprawiona wersja tego makra
Jak widzisz, napisanie takiego makra zajmuje może 15 minut a później
każde jego uruchomienie oszczędza mi średnio 10 minut. Po 2 użyciach makra oszczędzam
swój cenny czas (a czas to pieniądz). Zresztą najbardziej nielubiane czynności to nie
te, które się długo robi, a te które są monotonne. A makro pozwala zaoszczędzić
masę czasu!!
Są też inne ciekawe zastosowania makr. Np. jeśli prowadzisz swój sklep
internetowy, to możesz udostępniać cennik w pliku XLS (Excel). Jednak ręczne
przepisywanie cen z sklepu internetowego jest męczące i monotonne (zamiast co tydzień
marnować godzinę czasu lepiej jest iść oglądać telenowele ;-). Można napisać
makro, które łączy się z naszym sklepem internetowym, pobiera informacje z bazy
danych, z której korzytsa nasz sklep internetowy i generuje arkusz z cennikiem. Być
może napisanie takiego makra zajmie kilka godzin, ale dizęki temu później będziesz
oszczędzał kupę czasu a czas to pieniądz (no i jeśli makro nie posiada błędów, to
wyeliminujesz błędy tego typu, że człowiek zobaczy cenę 59 zł, ale ze zmęczenia
wpisze np. 69 zł i tego nie zauważy).
Nie będę tutaj zachwalał mechanizmu makr, sam często coś piszę tylko
po to, aby przetworzyć jakąś informację :-) Ciekawe makra znajdziesz na stronie: http://vb4all.canpol.pl/workshop/vba.htm
(jeśli masz swoje ciekawe makra, możesz je wysłać a pojawią się na VB4all).
wstecz
|