Link in eine Tabellen-Zelle

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

Moderator: Moderatoren

Plumperquatsch
*
Beiträge: 17
Registriert: Fr, 20.02.2004 11:14

Link in eine Tabellen-Zelle

Beitrag von Plumperquatsch »

Hallo,

nachdem mir hier so prächtig geholfen wurde (vielen dank!) versuche ich es noch einmal.

Weiß jemand, wie man einen Link auf ein Dokument (im Speziellen ein PDF-Doku) in eine Tabellenzelle legen kann.

Dabei soll nicht der Inhalt des Dokuments im Spreadsheet angezeigt werden, sondern ein Link eingetragen sein, auf den ich klicken kann, der dann das zugehörige Dokument öffnet...

Vielen dank,

Jens Möschler
openmind
****
Beiträge: 184
Registriert: So, 29.06.2003 15:00
Wohnort: Schweiz

Beitrag von openmind »

Hallo Jens,


ich wette mein linkes Bein, dass du was darüber in der Hilfe findest. Mein rechtes Bein musste ich letzte Woche leider schon hergeben.

1. Menu: Hilfe - Inhalt
2. In der Hilfe auf Karteikarte 'Suche' wechseln
3. 'Link' oder 'Hyperlink' oder ähnliches eintippen
4. Einen der Einträge auswählen. Ich denke, das ist da nicht schlecht beschrieben.
Meine Installation: AMD Athlon XP 1600+, 512 MB RAM, SuSE Linux 8.2, OpenOffice 1.1
Kostenlose OOo-CD in der Schweiz: http://www.office-cd.ch/
Plumperquatsch
*
Beiträge: 17
Registriert: Fr, 20.02.2004 11:14

Beitrag von Plumperquatsch »

Hallo,

nein, in der Hilfe habe ich nichts gefunden. Auch im SDK war nur beschrieben, wie ich Inhalte anderer Dokumente in den jeweiligen Zellen anzeigen kann, nicht aber, wie ich einen Link erstellen kann.

Wenn man in eine Tabellenzelle einen Ausdruck in der Form abc@def eingibt, dann erstellt er automatisch einen mailto:abc@def wie bekomme ich dsa mit Links hin? Über die Menüs schaffe ich das ja, aber ich möchte das aus einem Macro heraus erreichen.

Vielen dank,

Jens
openmind
****
Beiträge: 184
Registriert: So, 29.06.2003 15:00
Wohnort: Schweiz

Beitrag von openmind »

Hier kommt mein Bein ;-)

Ich hab dich natürlich missverstanden. Wir sind hier ja schliesslich im Basic-Forum.

Wenn Du in einem Text ein Link anbringen musst, dann kannst Du einer beliebigen TextPortion eine URL anhängen. Ich hab das zwar noch nicht in dieser Richtung gemacht, aber andersrum.

Sieh mal den Skript unter

viewtopic.php?t=570

In der Mitte ist ein Bereich mit zwei gestrichelten Linie eingerahmt. Ein Text besteht aus einer oder mehreren TextPortions, welchen eine URL zugewiesen werden kann.

In meinem englischen Basic-Handbook gehts ab Seite 86 um Text und TextPortion in einem Textdokument. Soviel ich weiss, ist das auch für Calc-Dokumente gültig, da jeder Text in einer Zeile ein solches Textobjekt ist wie in einem Writer-Dokument.


gruss

om
Meine Installation: AMD Athlon XP 1600+, 512 MB RAM, SuSE Linux 8.2, OpenOffice 1.1
Kostenlose OOo-CD in der Schweiz: http://www.office-cd.ch/
Plumperquatsch
*
Beiträge: 17
Registriert: Fr, 20.02.2004 11:14

Beitrag von Plumperquatsch »

Hallo allerseits,

ich habe das Problem gelöst: (mit Tatkräftiger Unterstützung aller möglichen multilingualer Foren (ähäm...)

Code: Alles auswählen

dim document   as object
dim dispatcher as object
document   = ThisComponent.CurrentController.Frame 
oSheet = ThisComponent.sheets.getByName("Rechnungsübersicht")
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
			
' ******* Auf Tabellenzelle positionieren **********************
dim cellInfo(0) as new com.sun.star.beans.PropertyValue
cellInfo(0).Name = "ToPoint"
CellPosition = "Rechnungsübersicht.$B$"+trim(cStr(j))
cellInfo(0).Value = CellPosition
oSheet.getcellbyposition(1,j-1).string=""
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, cellInfo())
' ********* Hyperlink definieren **********************
dim hyperlinkInfo(4) as new com.sun.star.beans.PropertyValue
hyperlinkInfo(0).Name = "Hyperlink.Text"
hyperlinkInfo(0).Value = InvoiceNumber
hyperlinkInfo(1).Name = "Hyperlink.URL"
hyperlinkInfo(1).Value = UrlToPDF
hyperlinkInfo(2).Name = "Hyperlink.Target"
hyperlinkInfo(2).Value = ""
hyperlinkInfo(3).Name = "Hyperlink.Name"
hyperlinkInfo(3).Value = ""
hyperlinkInfo(4).Name = "Hyperlink.Type"
hyperlinkInfo(4).Value = 1
dispatcher.executeDispatch(document, ".uno:SetHyperlink", "", 0, hyperlinkInfo()) 						
Nun gut, jetzt macht er das, was er soll und das ist gut so. himmel bin ich gut gelaunt...
Danke an alle,

Jens :P
Antworten