Hallo Kenner und Könner,
in einer Calc Tabelle habe ich Hyperlinks die auf ein Writer Dokument+Sprungmarke zeigen.
Der Hyperlink wird durch eine Formel erzeugt z.B.
=HYPERLINK("file:///G:/2014-11/01/Mydaily%20view%20-%202014-11-01.odt"&M46;C46)
M46 enthält die Sprungmarke
Da die Tabelle sehr breit ist muss man ewig scrollen um den link zu finden
Ich möchte nun per Doppelklick irgendwo in die Zeile diesen Hyperlink ansprechen.
Wie muss der Basic Code aussehen, damit ich diesen Hyperlink in OOBasic ansprechen und folgen kann,
so das die Makroaktion dem anklicken dieses Link entspricht, also
Writer Dokument öffnen, bzw in den Vordergrund holen und den Cursor auf die Sprungmarke setzen?
und schonmal Danke für's lesen.
Hyperlink folgen
Moderator: Moderatoren
Hyperlink folgen
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: Hyperlink folgen
Hallo
dateien oeffnen
an die url musst du nur noch "#" & den Inhalt aus M46 anhängen.
oder vielleicht doch:
``soffice`` in der unteren Variante muss ggf. durch den kompletten Pfad zur soffice[.exe] ersetzt werden
Karolus
dateien oeffnen
an die url musst du nur noch "#" & den Inhalt aus M46 anhängen.
Code: Alles auswählen
import uno
ctx = uno.getComponentContext()
servicemanager = ctx.ServiceManager
createUnoService = servicemanager.createInstance
desktop = createUnoService("com.sun.star.frame.Desktop")
def open_at_(event):
sheet = event.Spreadsheet
row = event.CellAddress.Row
if row != 45:
return
marke = sheet.getCellRangeByName('M46').String
url = "file:///G:/2014-11/01/Mydaily%20view%20-%202014-11-01.odt"
doc = desktop.loadComponentFromURL('%s#%s' %(url, marke),'_blanc',0,())
desktop.setActiveFrame(doc.CurrentController.Frame)
Code: Alles auswählen
import subprocess
def open_at_(event):
sheet = event.Spreadsheet
row = event.CellAddress.Row
if row != 45:
return
marke = sheet.getCellRangeByName('M46').String
url = "file:///G:/2014-11/01/Mydaily%20view%20-%202014-11-01.odt"
subprocess.Popen( ['soffice' ,'%s#%s' %(url, marke) ] )
Karolus
Zuletzt geändert von Karolus am Di, 13.01.2015 15:08, insgesamt 1-mal geändert.
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Hyperlink folgen
Hallo Karolus,
das sieht kurz und Chic aus!
Werde gleich mal probieren ob ich das in meinen Code eingebaut bekomme.
besten Dank dafür
das sieht kurz und Chic aus!
Werde gleich mal probieren ob ich das in meinen Code eingebaut bekomme.
besten Dank dafür
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: Hyperlink folgen
Hallo Kenner und Könner,
ich hatte ja gehofft man könnte den CalcFormel generierten Link irgendwie direkt ansprechen
(einen "Mausklick" für den auf den Link platzierten Viewcursor generieren oder so ) aber das war wohl nix
Stattdessen ist es die normale Datei öffnen Prozedur, oK das habe ich jetzt soweit
einschließlich der Prüfung ob die Datei bereits geöffnet ist.
Was ich noch nicht hin bekomme, ist vom Calc-Dokument auf das bereits geöffnete Writer-Dokument zu wechseln
und dort den ViewCursor auf die Sprungmarke (gleich der einer aus dem Inhaltsverzeichnis) platzieren.
Kann mir da noch jemand mit die Beispiel-Code auf die Basic-Sprünge helfen ?
ich hatte ja gehofft man könnte den CalcFormel generierten Link irgendwie direkt ansprechen
(einen "Mausklick" für den auf den Link platzierten Viewcursor generieren oder so ) aber das war wohl nix

Stattdessen ist es die normale Datei öffnen Prozedur, oK das habe ich jetzt soweit
einschließlich der Prüfung ob die Datei bereits geöffnet ist.
Was ich noch nicht hin bekomme, ist vom Calc-Dokument auf das bereits geöffnete Writer-Dokument zu wechseln
und dort den ViewCursor auf die Sprungmarke (gleich der einer aus dem Inhaltsverzeichnis) platzieren.
Kann mir da noch jemand mit die Beispiel-Code auf die Basic-Sprünge helfen ?
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: Hyperlink folgen
Hallo
Schau dir die (nachgereichte) Variante an, und übersetze das nach Basic.
Karolus
Schau dir die (nachgereichte) Variante an, und übersetze das nach Basic.
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)