PDA

Prikaži potpunu verziju : Openoffice Calc problem sa hiperlinkovima


Aleksandar Radojkovic
20.3.2008, 19:45
Pozdrav svima.

Muči me jedno pitanje: kako da obrišem tekst iz polja koje sadrži hiperlink, tako da mi se nakon toga prikaže URL adresa umesto njega (vidite priloženu sliku)?

Probao sam sa opcijom za editovanje (zaokruženo), ali ona radi samo sa pojedinačnim poljima (ovo na slici je deo kataloga, broj unosa je preko 10.000). Pokušao sam i sa makroom, ali bez uspeha. On promeni sadržaj samo jednog polja i tu stane :(.

Znači, konkretno: kako da ovu operaciju obavim sa svih 10000 unosa? Pretpostavljam da je problem trivijalan, ali lupam glavu čitav dan (i bezuspešno guglujem :paranoia:).

Help!

urke
20.3.2008, 20:11
Dakle, imaš ćeliju koja ima tekst „details“ i target url „http://nešto.tamo“, i takav sadržaj u nizu redova (isto piše „details“ za tekst ali je url različit).

Ti hoćeš da svuda obrišeš ovo „details“ i da ostane samo ta različita url adresa?

Aleksandar Radojkovic
20.3.2008, 23:38
Dakle, imaš ćeliju koja ima tekst „details“ i target url „http://nešto.tamo“ (http://ne%C5%A1to.tamo%E2%80%9C), i takav sadržaj u nizu redova (isto piše „details“ za tekst ali je url različit).

Ti hoćeš da svuda obrišeš ovo „details“ i da ostane samo ta različita url adresa?

Tako je, Urke. Ovo "details" je ustvari tekst, ime hiperlinka (ali to već sigurno znaš :)). Hiperlink je različit za svaki unos.

Postupak: selektujem polje, zatim kliknem na ikonicu "Hyperlink" (zaokružena na slici), i u prozoru koji se pojavi, u polju "Text" obrišem sadržaj i kliknem na Apply. Automatski se u polju tekst pojavi sadržaj polja "Target". Međutim, to funkcioniše samo za jedno po jedno polje, ne može se promeniti više polja istovremeno (upravo ono što mi treba, imam 10000 unosa :)). Mora da postoji neki lakši način?

Evo primer fajla (nekoliko izvučenih unosa iz originalnog fajla).

Pozdrav.

urke
21.3.2008, 11:21
Najjednostavniji način za ovo je da sa strane staviš formulu:
=HYPERLINK(G2)&T(STYLE("hyperlink"))gde je G2 adresa ćelije u kojoj je hiperlink.

Posle sadržaj URL-a iz ćelija sa strane možeš da prebaciš kao tekst tamo gde želiš, t.j. u kolonu G.

Zbog 10000 redova, možda je najbolje da napišeš makro. Evo primera kako to radi iz makroa:


Dim oSheet, oCell As Object
oSheet = thisComponent.Sheets.getByIndex(0)
oCell = oSheet.getCellByPosition(6,1).getText()
oFields = oCell.getTextFields()
If oFields.hasElements() Then
oCell.String = oFields.getByIndex(0).URL
A ti ga sad propusti kroz For i = 1 To 10000 petlju i menjaj drugi broj u delu oCell specifikacije (što je sada 1).

Aleksandar Radojkovic
21.3.2008, 23:45
Thanks! Makro je uspeo! :n_klanja:

Skida tekst iz datog polja i automatski se pojavljuje hiperlink umesto njega. Ovo sa komandom =HYPERLINK ne radi, jer se u naznačenom polju pojavljuje tekst, a hiperlink se briše iz menija "Target".

Ovaj makro mi je bio potreban zbog snimanja .xls baze u .csv format (i kasniji unos u MySQL). Pošto uklanja ime hiperlinka iz polja, zgodan je i kod prenosa bookmarksa iz Firefox-a. Samo, lepo bi bilo kad bi korisnik mogao da navodi adrese i domet polja, a ne da se svaki put edituje makro.
Bilo bi lepo kad bi neko mogao ovo da reši (ja baš i nisam vičan OOBasic programiranju :icon_scra)
.
Šaljem tekst makroa i rezultat njegove primene.

Pozdrav.