Hyperlink folgen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Hyperlink folgen

Re: Hyperlink folgen

von Karolus » Mi, 14.01.2015 10:31

Hallo

Schau dir die (nachgereichte) Variante an, und übersetze das nach Basic.

Karolus

Re: Hyperlink folgen

von clag » Mi, 14.01.2015 10:04

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 ?

Re: Hyperlink folgen

von clag » Di, 13.01.2015 15:01

Hallo Karolus,

das sieht kurz und Chic aus!
Werde gleich mal probieren ob ich das in meinen Code eingebaut bekomme.

besten Dank dafür

Re: Hyperlink folgen

von Karolus » Di, 13.01.2015 14:18

Hallo

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) 
oder vielleicht doch:

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) ] )
     
``soffice`` in der unteren Variante muss ggf. durch den kompletten Pfad zur soffice[.exe] ersetzt werden



Karolus

Hyperlink folgen

von clag » Di, 13.01.2015 09:56

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.

Nach oben