Archive for the ‘obróbka plików’ Category

Excel i VBA automatyczne uruchomienie makra przy otwarciu skoroszytu: sposób 1

Thursday, February 16th, 2012

Czasami przydaje się takie uruchomienie skoroszytu, które pociąga za sobą automatyczne uruchomienie makra. Przykładem może być skoroszyt, który pobiera dane ze strony www lub zdalnej bazy danych odpowiednio je przetwarza i wylicza na przykład ceny artykułów w e-sklepie.
Taki arkusz może być uruchomiony automatycznie o określonej godzinie przez oprogramowanie do planowania zadań wbudowane w Windows.

Aby makro uruchomiło się automatycznie należy je odpowiednio nazwać:
co jednak zrobić aby więcej makr uruchomiło się z automatu, nie jest to zapewne problem jeśli znasz VBA ale jeśli nie wiesz to powiem:

Umieszczasz listę makr wewnątrz makra startującego automatycznie w sposób jak niżej

Sub auto_open()
jakieś instrukcje
….
makro1
makro2
makro3

jakieś instrukcje
End Sub

Przy czym makro1, makro2, makro3 to makra zdefiniowane w innym miejscu w postaci

Sub makro1()
jakieś instrukcje…
End Sub

nazewnictwo makr jest oczywiście dowolne, ale konsekwencja odwoływania się do nich powinna być zachowana zgodnie z powyższym przykładem.
Na razie tyle, o następnym sposobie wkrótce.

Excel 2010 - określenie maks. używanej ilości wierszy i kolumn za pomocą kodu VBA

Monday, December 19th, 2011

Chciałem omówić małą ale przydatną rzecz, która mi ostatnio bardzo pomogła w pracy a mianowicie określenie za pomocą komend VBA ilości użytych wierszy i kolumn w pliku. Jest to o tyle ułatwieniem że na tej podstawie mogę zadać granicę dla pętli for (lub innej) w celu dalszej analizy danych.

Aby sprawdzić jak to działa warto otworzyć jakiś plik z danymi lub samemu je przygotować :)

dane do sprawdzenia działania

Warto zwrócić uwagę przy otwieraniu pliku Excela 2010 z makrami (jeżeli mamy już plik z napisanymi makrami) że trzeba niestety kliknąć przycisk “Enable content” (zezwalaj na treść) bez tego nasze makra nie będą działać.

makro_finalrowand-finalcol-1a.png

Druga sprawa, od której należało może zacząć to ta że plik excela 2010 “utrudni” nam bezmyślne zapisanie go jako zwykłego pliku excela i zasugeruje by zapisać go w postaci pliku z zezwoleniem dla makr

macro_save-as-2.png

i ten właśnie plik będzie wymagał wciśnięcia przycisku enable content aby je uruchamiać. oznaczony jest on specjalną ikoną

ikonka

Teraz do rzeczy
1 mamy już dane
2 Po otwarciu pliku Excela naciskamy Lewy Alt +F11 i otwiera nam się okno VBA (Visual Basic for Applications) i zaznaczamy klikając dwukrotnie arkusz z naszymi danymi (w moim przypadku Arkusz1)

makro_finalrowand-finalcol-2.png

3. Wpisujemy kod jak niżej


Sub granice()

ostatniwiersz = ActiveSheet.UsedRange.Rows.Count
ostatniakolumna = ActiveSheet.UsedRange.Columns.Count
MsgBox “W arkuszu jest ” & ostatniwiersz & ” wierszy”
MsgBox “W arkuszu jest ” & ostatniakolumna & ” kolumn”
End Sub

Funkcje Msgbox służą mi jedynie do upewnienia się że wszystko jest ok i po ich użyciu mogę na przedzie każdej takiej lini dodać pojedynczy apostrof aby interpretator VB widział te linie jako komentarz i nic z nimi nie robił.

4. Uruchamiamy makro używając F5 lub menu

runmacro.png

Możemy widzieć jeszcze coś takiego

runmacro2.png

5. Klikamy przycisk Run i oglądamy wyniki :)

macro_result1.png

macro_result2.png

To na razie tyle. Makro można zmodyfikować do swoich potrzeb. Dodam jeszcze że testowałem je w wersjach Excel 2000 i Excel 2003 a skoro w niezmienionej formie treść makra działa również w tej wersji (2010) to śmiało można powiedzieć że nie powinno być przeszkód aby działało również w wersji 2007

CMD w Win7 - polecenie Tree

Monday, December 20th, 2010

Polecenie Tree (drzewo) pozwala na zorientowanie się w strukturze podkatalogów jaka jest wewnątrz danego katalogu.
Działanie tej funkcji jest pokrewne do działania funkcji DIR, różnica polega na tym że:
1. tree pokazuje całą strukturę wgłąb, a DIR wyświetla tylko katalogi będące bezpośrednio w danym katalogu.
2. tree nie da się stronicować argumentem /p czyli nie dzieli wyniku na poszczególne strony przez co widać jedynie ostatnie katalogi. w przypadku polecenia DIR można było wynik podzielić na strony.
3. tree nie pokazuje nazw plików a tylko katalogi, DIR pokazuje także pliki
4. tree pokazuje drzewo za pomocą znaków semigraficznych DIR jedynie wylistowuje nazwy katalogów i plików

Podobieństwa
1. Oba służą do łatwiejszego odnalezienia pliku końcowego
2. W obu przypadkach wynik polecenia można przekierować do pliku operatorem > nazwapliku.txt
Wykonanie polecenia tree da przykładowo taki rezultat

cmd_tree.png

Jeśli przekierujemy polecenie tree do pliku otrzymamy:

podkatalogi w pliku - surowe dane

Dane w takiej postaci nie wiele dadzą gdyż są mało przejrzyste, dlatego obrobiłem je za pomocą programu notepad++

zamiana znaków w notepad++

Poniżej pokazałem jakich zamian dokonałem w pliku wynikowym do którego wysłałem dane z polecenia tree (klinij na miniaturkę aby powiększyć):

zamiany liter

po dokonaniu zmian:

lista podkatalogów w notepad++

Chcąc zrobić porządki na dysku czasem dobrze mieć pod ręką taki wykaz podkatalogów. Ten opis nie jest na pewno wyczerpaniem tematu, ale w każdym razie pokazuje to co można osiągnąć minimalnym wysiłkiem.

Word - zapisywanie dokumentu - jak ustrzec się przykrych niespodzianek

Tuesday, January 12th, 2010

Pewnie większość z nas pisząc jakieś dokumenty używa MS Worda - jest on po prostu wygodnym narzędziem, nie wchodząc w szczegóły powiem że używam go najczęściej mimo iż mam zainstalowanych kilka edytorów tekstu i nie gardzę żadnym z nich. Jak każdy program zapisujący pliki także ten nie jest idealny, a w każdym razie nie jest odporny na błędy ludzkie.
Już nieraz zdarzyło mi się że niechcący zamknąłem dokument chcąc zamknąć inną aplikację i przez to straciłem mnóstwo czasu gdyż duża część tekstu napisanego po prostu przepadła.

Pobieżne i krótkie korzystanie z Worda bez tworzenia jakichś skomplikowanych i dużych dokumentów nie zmusza nas do podejmowania specjalnych czynności aby zabezpieczyć tekst. Myślę że warto jednak wyrobić sobie nawyk częstego naciskania Ctrl+S albo ikonki z dyskietką. Drugim pożytecznym krokiem jest włączenie opcji autozapisu dokumentu i ustawienie możliwie krótkiego interwału między kolejnymi zapisami (np 1min).

menu Narzędzia opcje w Word

zakładka save w menu opcje Word

Autozapis to pożyteczna rzecz jednak częste zapisywanie dużych kilkumegowych dokumentów może być odrobinę irytujące.

Z tego też względu warto tworzyć mniejsze dokumenty i nazwać je odpowiednio jako części składowe większego dokumentu niż tworzyć ogromny dokument, co zwiększa ryzyko uszkodzenia pliku. Poza tym należy bezwzględnie robić kopie zapasowe przynajmniej co jakiś czas na innym nośniku niż ten którego aktualnie używamy a najlepiej na dwóch innych nośnikach zwłaszcza wówczas gdy nasza praca nad dokumentem dobiega końca. Jeśli będziesz tworzył katalogi z datami kopii zapasowych to się w tym nie pogubisz a możesz zaoszczędzić naprawdę sporo czasu i nerwów.

Weźmy na przykład taką sytuację.
Masz komputer stacjonarny bez ups (laptopy to pod tym względem lepsze rozwiązanie ze względu na możliwość pracy na baterię) i zapisujesz bardzo duży plik lub nastepuje autozapis a może to potrwać kilkanaście sekund, pech chciał że nastąpił zanik zasilania i twój plik przepadł bo niepełny zapis jest równoważny z uszkodzeniem pliku.
Scenariusz z zanikiem prądu jest wprawdzie rzadki ale możesz mi wierzyć miałem kilka takich przypadków że komputer nagle zgasł bo ekipa z ZE naprawiała transformator.
Gdybym miał laptopa to by problemu nie było. Przy mniejszym pliku jako części większego projektu problem byłby także mniejszy
bo straciłbyś część tekstu a nie całość.

Jak przekonwertować plik wav, amr lub wma na mp3

Monday, November 9th, 2009

W ostatnim czasie pojawiło się bardzo wiele programów za pomocą których można przekonwertować plik dźwiękowy w formacie wav na plik mp3 oraz mnóstwo innych formatów na różne możliwe sposoby.
Zapewne każdy chwali jakiś tam swój ulubiony program do tego celu. Nie każdy jednak chce instalować programy niepewnego pochodzenia, które “zmulają” nasz komputer lub w zamian za swoją darmowość wyświetlają reklamy, albo nie są dopracowane pod względem wygody obsługi.
Mi zdarzyło się używać kilku różnych programów spośród których polubiłem jeden, o którym chcę teraz napisać.

Mam na myśli program Switch firmy NCH a dokładniej jego darmową wersję (do celów niekomercyjnych). Program jest banalnie prosty w obsłudze a przy tym wygodny, szybki, zajmuje mało miejsca i ma sporo możliwości w zakresie konwersji formatu mp3.

okno głównw programu.

W jakich sytuacjach on się przydaje ?
Potrzebny jest zwykle wówczas gdy
- chcemy zgrać nasze pliki z dyktafonu lub komórki (zwykle format wav, amr, wma)
- chcemy wgrać pliki mp3 na naszą mp3-kę w nieco odchudzonej wersji (mniejszy współczynnik bitrate).
- chcemy sformatować plik mp3 do innych rzadko spotykanych formatów jak np vox (może się przydać jeśli chcemy wgrać zapowiedź na małą centralkę, która wymaga specjalnego formatu dźwięku).

Użycie programu sprowadza się do wskazania plików do konwersji (przycisk “Add Files”) zaznaczenia plików, wskazania miejsca gdzie mają trafić gotowe pliki (przycisk Browse po prawej stronie pola tekstowego Output folder) wybrania z listy Output format i naciśnięcia przycisku Convert. To wszystko.