Archive for the ‘Obróbka tekstu’ Category

Word 2010. Jak szybko pozbyć się hyperlinków z tekstu skopiowanego z internetu

Sunday, February 14th, 2016

Czasami potrzebujemy skopiować tekst z wikipedii lub innego serwisu internetowego, ale jak to zwykle bywa przy jego edycji musimy pozbyć się formatu charakterystycznego dla linków internetowych.

Przykładowy tekst jest podkreślony, najczęściej także pogrubiony i ma kolor niebieski.

Jednym ze sposobów (mało efektywnym) usunięcia takiego formatowania jest klikaniena każdy taki tekst prawym przyciskiem myszy i wybieranie opcji usuń hyperlink.

Jeżeli jest to jeden lub dwa linki to oczywiście jest to dobra metoda ale dla większej ilości lepiej jest:

- otworzyć dodatkowy program (wbudowany w system windows) o nazwie notatnik

- skopiować fragment tekstu zawierający grupę hyperlinków i wkleić go do notatnika

-kliknąć myszką obok tekstu w notatniku a następnie wykonać 3 kolejne kombinacje klwiszy

Ctrl A  - zaznczaczenie wszystkiego (w notatniku)

Ctrl C skopiowanie zaznaczenia do schowka

Teraz przejście do Worda

Ctrl V - wklejenie tekstu ze schowka w miejsce tekstu poprzednio zaznaczonego do obróbki.

Excel 2010 - przykłady działania funkcji PROPER()

Tuesday, February 18th, 2014

Sporo czasu temu omawiałem dla wersji Excel 2003 funkcję Z.WIELKIEJ.LITERY() która w wyniku daje WIELKĄ pierwszą literę wyrazu a pozostałe zamienia na małe. Jej odpowiednikiem w anglojęzycznej wersji Excela jest funkcja PROPER(). Obie wersje językowe robią dokładnie to samo.
Poza tym zamieniają one w ten sam sposób litery zaczynające każdy wyraz w zdaniu które wskazujemy jako argument funkcji.
Ma to zastosowanie przy imporcie danych do excela, kiedy zdarzy się że każda litera imienia i nazwiska lub nazwy miasta w zaimportowanym tekście jest duża, a nam potrzeba naturalnego formatu. Pewnie znajdzie się jeszcze setki zastosowań tej funkcji, między innymi przeróbka fragmentów tekstów marketingowych w ofercie, tak aby pierwsza litera każdego wyrazu była duża.
Poniżej pokazałem jak wygląda przykład zastosowania tej funkcji.

excel_proper_f.png

Prawda że fajne ?

Poza tym jak szybko nas wyręcza ze żmudnej pracy. :)

Excel i VBA deklarowanie tablicy statycznej i dynamicznej

Sunday, February 5th, 2012

Tablice przydają się do tymczasowego przechowywania ciągów danych określonego typu i do szybszych obliczeń. Typ zmiennej przechowywanej w tablicy może być różnoraki w zależności od potrzeb, może to być ciąg znaków alfanumerycznych (String), byte, integer.

Podam jeden z wielu sposobów deklarowania przykładowej tablicy dwuwymiarowej (100 wierszy i 3 kolumny) przechowującej dane typu string

Niech nasza tablica nazywa się po prostu Tablica

Dim Tablica (100,3) as String

Jest to definicja tablicy statycznej kiedy wiemy ile wierszy i kolumn będzie zawierać.

Jeżeli nasza tablica ma za zadanie przechowywać dane, których ilości nie możemy na razie przewidzieć wówczas piszemy

Dim Tablica () as String

Ma to na celu zapobieganie zbędnemu przewymiarowaniu tablicy i zabezpiecza nas przed jej niedoszacowaniem
Weźmy na przykład określenie maksymalnej liczby wierszy i kolumn w danym arkuszu excela o czym pisałem w kilku poprzedzających wpisach a głównie we wpisie Excel 2010 - określenie maks. używanej ilości wierszy i kolumn za pomocą kodu VBA.

jeśli te zmienne (ilość wierszy i ilość kolumn) nazwiemy odpowiednio

wiersze, kolumny to aby dookreślić tablicę piszemy

Redim Tab(wiersze, kolumny)

i nasza tablica będzie ich mieć tyle ile trzeba :)

Zwykle jest jednak tak że pobieramy do tablicy tylko niektóre konkretne kolumny z arkusza ich liczbę (kolumn) jesteśmy w stanie przewidzieć.

Teraz zagadnienie innego typu: jak zapisać dane do odpowiedniej kolumny w tablicy ?

Niech za przykład posłuży nam taka tabelka

zapisdotablicy1.png

Pętla For … Next która będzie pomocna przy wczytywaniu będzie wyglądać mniej więcej tak:

For i =1 to 3
Tablica(i,1)=Cells(i,1)
Tablica(i,2)=Cells(i,2)
Tablica(i,3)=Cells(i,3)
Next

dla każdego i (w sensie wiersza) będą zapisane kolejno dane do trzech kolumn tabeli

Gdybyśmy chcieli dla sprawdzenia pobrać z tablicy element Tablica(3,3) to byłaby to wartość “30″ piszę w cudzysłowiu gdyż byłyby to znaki 3 i 0 dlatego że jest to tablica z elementami typu String

UWAGA na koniec:
Jeśli dopiero zaczynasz przygodę z makrami w VBA to powyższe przykłady zapisuj wewnątrz procedury Sub Twoja_nazwa ()
np.

Sub ZapisDoTablicy()

Dim Tablica (3,3) as String
Sheets(”Arkusz1″).select
‘ Wskazujemy z którego arkusza pobieramy dane do tablicy
for i =1 to 3
Tablica(i,1)=Cells(i,1)
Tablica(i,2)=Cells(i,2)
Tablica(i,3)=Cells(i,3)
Next
‘ sprawdzamy element Tablica(3,3)
MsgBox Tablica(3, 3)
End sub

Taką procedurę zapisz w module (nie w kodzie arkusza)

Na górze modułu napisz jeszcze taki wiersz

Option base 1

Daje to informację dla VBA że twoje tablice są liczone od 1-go elementu a nie domyślnie od zerowego. W stosunku do tablic jest to ułatwienie.

Jak to wygląda w VBA w anglojęzycznej wersji Excel 2010

zapisdotablicy2.png

Jak to działa

zapisdotablicy3.png

Książka, która może pomóc w lepszym zrozumieniu tego tematu:

Pobierz fragment

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

Word 2010 - jak utworzyć zaszyfrowany pdf

Sunday, March 13th, 2011

W ostatnich dniach zacząłem używać aplikacji MS Word 2010 głównie ze względu na duże możliwości i łatwość formatowania tekstu. Prawdę mówiąc nie oczekiwałem po Wordzie że będzie mógł konwertować do formatu pdf i spodziewałem się raczej że będę w tym celu musiał dodatkowo zainstalować którąś wersję pakietu OpenOffice. Jak wielkie było moje zdziwienie kiedy zobaczyłem że nawet najbardziej wymyślne cieniowania i stylizowania tekstu są bez żadnych problemów przenoszone do pliku pdf. Postanowiłem zainteresować się dodatkowo opcją blokowania dostępu do pliku za pomocą hasła bo jest to dość często stosowane narzędzie w sprzedaży i marketingu ebooków. No i okazało się że i tutaj Word sprawuje się całkiem przyzwoicie. Odnalezienie funkcji nie nastręcza żadnych problemów.
Oto instrukcja jak utworzyć taki plik:

w2pdf.png

w2pdf_2.png

w2pdf_3.png