(GELÖST) Immer aktueller Link im Makro

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

Moderator: Moderatoren

achimgr
***
Beiträge: 68
Registriert: Mi, 30.04.2008 16:14

(GELÖST) Immer aktueller Link im Makro

Beitrag von achimgr »

Hallo,
ich bitte um Hilfe bei diesem Problem:
Ich kopiere eine http-adresse (rechtsklick, "Adresse des Links kopieren" auswählen)
dann wechsel ich zur OO-Calc Tabelle, klicke eine Zelle (zB. N100) an und füge dort die Adresse als Hyperlink ein.

Das mache ich in Einzelschritten
N100 markieren, "Einfügen" Hyperlink, Curser in "Sprungziel", STRG+V, Enter, ESC

Nun habe ich das mit einem Makro genauso aufgezeichnet (ausser Zelle N100 markieren), das Ergebnis ist: es wird immer wieder die bei der Aufzeichnung benutzte Http-Adresse eingefügt. Ich dachte, wenn ich jedesmal einen neuen Link kopiere (also in den Zwischenspeicher lege) wird dieser bei der Makro-Wiedergabe bei der Aktion "STRG+V" genommen - ist aber nicht so.

Wie kann ich das Makro verändern, dass der aktuelle Link im Zwischenspeicher genommen wird?

Vielen Dank für eure Hilfe
Zuletzt geändert von achimgr am Mo, 13.08.2012 12:12, insgesamt 1-mal geändert.

Grüße aus Niedersachsen,
Achimgr
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Immer aktueller Link im Makro

Beitrag von Karolus »

Hallo

Schau dir deine Makroaufzeichnung mal an -
Strg+v (paste) im Hyperlinkdialog wurde als solches nicht aufgezeichnet

Hier eine Aufzeichnung mit Trick17 und nachträglichem Feintuning:

Code: Alles auswählen

sub link_aus_Clipboard


	doc = thisComponent
	docframe   = doc.CurrentController.Frame
	dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

	dispatcher.executeDispatch( docframe, ".uno:Paste", "", 0, Array()) 

	sel = doc.GetCurrentSelection
	link = sel.String
	sel.String = ""


	dim args2(4) as new com.sun.star.beans.PropertyValue
	args2(0).Name = "Hyperlink.Text"
	args2(0).Value = link
	args2(1).Name = "Hyperlink.URL"
	args2(1).Value = link
	args2(2).Name = "Hyperlink.Target"
	args2(2).Value = ""
	args2(3).Name = "Hyperlink.Name"
	args2(3).Value = ""
	args2(4).Name = "Hyperlink.Type"
	args2(4).Value = 1

	dispatcher.executeDispatch( docframe, ".uno:SetHyperlink", "", 0, args2())

end sub
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
achimgr
***
Beiträge: 68
Registriert: Mi, 30.04.2008 16:14

Re: Immer aktueller Link im Makro

Beitrag von achimgr »

Hallo Karolus,

vielen Dank, das funktioniert hervorragend.
Ich verstehe das zwar nicht (weil ich keine Ahnung von der Programmierung habe), bin dafür umso dankbarer für die Zeilen.

Grüße aus Niedersachsen,
Achimgr
Antworten