[Gelöst] Hyperlink in Zelle

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

retuwe61
****
Beiträge: 159
Registriert: So, 18.11.2007 21:25

[Gelöst] Hyperlink in Zelle

Beitrag von retuwe61 »

Hallo miteinander.
In einem mit einer älteren LibreOffice-Calc-Version erstellten unfangreichen Tabellendokument hatte ich mit dem folgenden Makro keine Probleme.
Nach dem Wechsel auf Version 5.1.4.2 werden die Formeln zwar bis zur letzten Zeile gezogen. Der Link lässt sich jedoch nach dem "AutoFill" selbst in Zeile 2 nicht mehr anklicken. Der Pfeil wechselt nicht mehr zum Hand-Symbol. Ebenso, wenn ich das Makro abbreche, die beiden Formeln händisch kopiere und in die Zeile darunter einfüge.

In einem neu erstellten Tabellendokument funktioniert das Makro einwandfrei.
Hat jemand eine Idee, wo das Problem liegen könnte?
Gruß
Uwe

Code: Alles auswählen

sub Link_einfuegen
oDoc = thisComponent
oSheet = oDoc.sheets.getbyName("Grunddaten")

ocursor = osheet.CreateCursor()
ocursor.gotoendofusedarea(True)
lzeile = ocursor.getrangeaddress.endrow 

oRange = oSheet.getCellRangeByPosition(1,1,2,lzeile)
oRange.clearContents(1023)

mycell = oSheet.getCellByPosition(1,1)
mycell.FormulaLocal = "=HYPERLINK(""#Tabelle1.""&ZELLE(""ADDRESS"";INDEX(A$1:A$65000;(VERGLEICH($G2;Tabelle1.A$1:A$65000;0))));""GoTo Tab1"")"
mycell = oSheet.getCellByPosition(2,1)
mycell.FormulaLocal = "=HYPERLINK(""#Tabelle2.""&ZELLE(""ADDRESS"";INDEX(B$1:B$65000;(VERGLEICH($G2;Tabelle2.B$1:B$65000;0))));""GoTo Tab2"")"

'Bis hier ist der Link noch anklickbar. Der Pfeil wechselt zum Hand-Symbol.

oRange=oSheet.getCellRangeByPosition(1,1,2,lzeile)
oRange.fillAuto(com.sun.star.sheet.FillDirection.TO_BOTTOM, 1)

end sub
Zuletzt geändert von retuwe61 am Fr, 16.06.2017 11:13, insgesamt 1-mal geändert.
Angewandt wird LibeOffice Version 5.1.6.2
retuwe61
****
Beiträge: 159
Registriert: So, 18.11.2007 21:25

Re: Hyperlink in Zelle

Beitrag von retuwe61 »

Guten Morgen.
Ich habe den Fehler gefunden.
Sobald in irgendeiner Zeile der beiden Spalten anstelle des Hyperlinks der Wert #NV abgebildet wird, funktioniert in der jeweiligen Spalte keiner der Hyperlinks mehr!!!
Ich habe die Formeln verändert und nun funktioniert es wie gewünscht.
Gruß
Uwe

Code: Alles auswählen

mycell = oSheet.getCellByPosition(1,1)
mycell.FormulaLocal = "=WENN(ISTNV(VERGLEICH(G2;Tabelle1.A$1:A$65000;0));"""";HYPERLINK(""#Tabelle1.""&ZELLE(""ADDRESS"";INDEX($A$1:$A$65000;(VERGLEICH($G2;Tabelle1.$A$1:$A$65000;0))));""GoTo Tab1""))"
                       
mycell = oSheet.getCellByPosition(2,1)
mycell.FormulaLocal = =WENN(ISTNV(VERGLEICH(G2;Tabelle2.B$1:B$65000;0));"""";HYPERLINK(""#Tabelle2.""&ZELLE(""ADDRESS"";INDEX($B$1:$B$65000;(VERGLEICH($G2;Tabelle2.$B$1:$B$65000;0))));""GoTo Tab2""))"
Angewandt wird LibeOffice Version 5.1.6.2
Antworten