Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 7. 10. 2009 09:15:49

termitus
Člen
Registrace: 21. 11. 2007
Příspěvků: 4

odkaz z bunky na list

Zdravim, mozna jsem spatne hledal, nic mene nenasel.. sad

mam takovy to problem:
v sesitu *.xls mam odkaz v bunce na list
=HYPERTEXTOVÝ.ODKAZ("[sesit.xls]list1.xls!A1";"nazev pole v bunce")
v open office ovsem zmeni na
=HYPERLINK("[sesit.xls]list1.xls!A1";"nazev pole v bunce")

a odkaz z bunky na list nefunguje...


kdyz udelam v ooo odkaz na list, vzorec vypada takto: #list1
no a toto opet neni funkcni v excelu

nevedel by prosim nekdo, jak udelat univerzalni odkaz z bunky na list, aby byla zachovana funkcnost jak v open office org, tak i v excelu 07 a 03???

a jeste drobnost, aby v bunce, ktera bude odkazovat na list byl zobrazen text a ne vzorec!
stejne tak, jak je tomu u odkazu v html: <a href="#">text</a>

predem vsem dekuji za rady!

Offline

#2 7. 10. 2009 20:27:18

hanus
Člen
Místo Olomouc
Registrace: 29. 11. 2006
Příspěvků: 573
Web

Re: odkaz z bunky na list

=IF(INFO("system")="LINUX";HYPERLINK("#List1.A1";"odkaz");HYPERLINK("#List1!A1";"odkaz"))

Rozdíl je teda jen v tom oddělovači listu a buňky - tečka v OpenOffice, vykřičník v Excelu.

Ovšem ty překlady funkcí do češtiny mě zase pobavily :-) INFO -> O.PROSTŘEDÍ :-) chudáci čeští uživatelé Excelu... Výše uvedené se musí vložit v OpenOffice nebo v EN verzi Excelu. Nechtějte po mě ty zprzněné české překlady funkcí :-)

Editoval hanus (7. 10. 2009 20:54:41)

Offline

#3 8. 10. 2009 09:11:15

termitus
Člen
Registrace: 21. 11. 2007
Příspěvků: 4

Re: odkaz z bunky na list

mnohokrate dekuji, ovsem moc mi to nepomohlo.. sad

potrebuji to mit funkcni pro jakoukoliv jazykovou mutaci excelu a OOo...
v OOo v3.0.0 dokonce funguje i ! jako oddelovac listu, ale v excelu (cz) nepobere hyperlink sad

jeste bych mel dotaz, neslo by to vyresit pres formularove tlacitko a makro??? je mi v podstate jedno, jeslty bude odkaz v bunce jako funkce, nebo to bude pres makro...
ale tady jsem opet narazil na problem sad zkusil jsem:
Sub otevri_list()
    Sheets("List1").Select
End Sub

v execelu ok, OOo nikoliv...

v OOo  jsem dal zaznam makra, prepnuti na druhy list a vzniklo toto:
Rem  *****  BASIC  *****

Sub Main()

End Sub


Sub test()
Rem ----------------------------------------------------------------------
Rem define variables
Dim document   As Object
Dim dispatcher As Object
Rem ----------------------------------------------------------------------
Rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

Rem ----------------------------------------------------------------------
Dim args1(0) As New com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = 3

dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())


End Sub

z cehoz nejsem vuubec moudry.. sad

poradil by prosim nekdo?
diiky za snahu!

Offline

#4 8. 10. 2009 10:05:55

hanus
Člen
Místo Olomouc
Registrace: 29. 11. 2006
Příspěvků: 573
Web

Re: odkaz z bunky na list

Jde o to, že v CZ Excelu nemůžete vložit funkci HYPERLINK, ale její "výborný" český překlad. Jakmile ale funci vložíte a funguje, pak v CZ-EN verzích se mění jejich názvy, ale funkcionalita zůstává.

Funguje vám tento soubor?
http://ooo.e-hanus.cz/hyperlink.xls
Mi v OOo 3.1 CZ a Excelu 2003 CZ ano.

Editoval hanus (8. 10. 2009 10:08:00)

Offline

#5 8. 10. 2009 11:08:28

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 844

Re: odkaz z bunky na list

Teoreticky by bylo nejlepším řešením použití funkce =cell("address"; odkaz).

Podtrhl bych teoreticky, protože tato funkce se v calcu chová poněkud odlišně, než v excelu. Navíc některé chování calcu se podobá chybě. (Např. nevrátí adresu, pokud je explicitně uveden soubor xxx.xls, uzemní calc, pokud se explicitně uvede jméno vlastního sešitu, ...)   

Řešení tedy již bylo naznačeno: Nějak zjistit, jestli jsme v prostředí calcu nebo excelu a příslušně modifikovat vzorec.

Zde se nabízí zmíněná funkce info. Logicky bych nejraději použil parametr "release", ovšem z vrácené hodnoty lze těžko něco dovozovat calc : 310..., excel 12.... Asi by pomohlo, kdy autoři sem v calcu vložili něco čitelnějšího.

Mohl by pomoci parametr "system", kde calc by vrací (ve win) "WNT" a excel (ve win) "pcdos".
Tedy pokud (neuvažuji mac) platí INFO("system")="pcdos" tak jsme v excelu.

v excelu docela dobře funguje =hyperlink(cell("address", odkaz), "popis"). To by mohlo řešit problém s jazykovými mutacemi excelu (v české mutaci to je: =HYPERTEXTOVÝ.ODKAZ(POLÍČKO("address"; odkaz); "popis")).  V calcu by mohl fungovat již dříve uvedený postup.

Pozor ovšem na uvedení jména souboru pokud se odkazujete v rámci sešitu. Calc v takovém případě u mně chcípne. Maskování pomocí indirect není vhodné, pokud požadujeme funci v různých jazykových mutacích.

Pokud stačí poskakovat jen v jednom sešitu, tak funguje:

=HYPERLINK("#"&CELL("address";$List2.A1);"nazev pole v bunce")

(Zajímavé je, že úvodní # excelu nevadí)

Offline

#6 8. 10. 2009 12:12:15

termitus
Člen
Registrace: 21. 11. 2007
Příspěvků: 4

Re: odkaz z bunky na list

2 hanus:
DEKUJI
bohuzel, soubor jsem stahl a zkusil v calcu (OOo v3.0.0 pod win), tak v excelu (ms office 2007), ale nefunguje!
v calcu vypise v bunce A2 WNT, v excelu pcdos

v bunce A1 je:
=KDYŽ(O.PROSTŘEDÍ("system")="LINUX";HYPERTEXTOVÝ.ODKAZ("#List2.A1";"odkaz na List2");HYPERTEXTOVÝ.ODKAZ("List1!A1";"odkaz na List2"))

zde jsem zmenil z LINUX na WNT a v calc zaclo fungovat, ale v excelu nikoliv sad
jeste jsem upravil ve vzorci pro excel "List2!A1"  bylo List1

takze ted je funkcnost pouze v calc, ale excel vypisuje hlasku: Nelze otevrit zadany soubor


2 lp.:
DEKUJI
ano, staci poskakovat v listech pouze jednoho sesitu!
ale funkce: =HYPERLINK("#"&CELL("address";$List2.A1);"nazev pole v bunce")
funguje bezvadne pouze v calcu sad v excelu skonci chybou ze zadany vzorec obsahuje chybu, po odkliknuti oznaci cast $List2.A1 ; po odstraneni $ je mozne vzorec v bunce ulozit, ale stale obsahuje chybu a vypis v bunce je ted #NAZEV?

v excelu se mi podarilo dosahnout funkcnosti s timto:
=HYPERTEXTOVÝ.ODKAZ(POLÍČKO("address";List2!A1);"popis")

ovsem zase je to nefunkcni v calcu, i kdyz nahradim HYPERTEXTOVY... na HYPERLINK a POLICKO na CELL


---

zkusim se v tom pohrabat, nic mene si moc neverim smile kdyby pribyla nejaka dalsi rada, bylo by to spica!!!

moc dekuji!

Offline

#7 8. 10. 2009 12:36:31

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 844

Re: odkaz z bunky na list

Jak bylo již zmíněno:

Funkce se zapíše v jednom prostředí, vyzkouší, a sešit se uloží!!! a zavře
Sešit se otevře ve druhém prostředí (vzorec se automaticky přeloží), vyzkouší, ...

Zadávet vzorec v syntaxi excelu do calcu je ...

Offline

#8 8. 10. 2009 14:28:29

termitus
Člen
Registrace: 21. 11. 2007
Příspěvků: 4

Re: odkaz z bunky na list

Jo tak me to docvaklo az ted.. smile vyreseno...

Diiky Hanus a lp. !!!

Offline

Zápatí