von kodela » So, 05.07.2015 15:15
Hallo,
jetzt habe ich noch einmal eine Frage: In meinem vorstehenden Thema zur Stringausgabe habe ich den verwendeten Code bereits gepostet.
Jetzt möchte ich gerne, an Statt des simplen Strings daraus einen URL machen. Das habe ich einmal als Makro aufgezeichnet und funktioniert grundsätzlich. Das Problem ist nur die Position, an der der Link ausgegeben wird. Das aufgezeichnete Makro habe ich für die Parameterübergabe etwas umgemodelt und gibt mir den Link aber an der aktuell selektierten Zelle aus. Das darf aber nicht sein.
Hier das Makro:
Code: Alles auswählen
sub setzeLink (Name As String, URL As String)
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
Dim oZelle As Object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(4) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Hyperlink.Text"
args1(0).Value = Name
args1(1).Name = "Hyperlink.URL"
args1(1).Value = URL
args1(2).Name = "Hyperlink.Target"
args1(2).Value = ""
args1(3).Name = "Hyperlink.Name"
args1(3).Value = ""
args1(4).Name = "Hyperlink.Type"
args1(4).Value = 1
dispatcher.executeDispatch(document, ".uno:SetHyperlink", "", 0, args1())
end sub
Es geht wohl um die letzte Zeile. Hier habe ich versucht, die aktuelle Zelle von der aufrufenden Sub zu übergeben und an Stelle von "document" einzusetzen, was aber erwartungsgemäß nicht funktioniert. Wie kann ich diesem Makro sagen, wo die Ausgabe erfolgen soll.
MfG, kodela
Moderation,4: Betreff angepasst
Hallo,
jetzt habe ich noch einmal eine Frage: In meinem vorstehenden Thema zur Stringausgabe habe ich den verwendeten Code bereits gepostet.
Jetzt möchte ich gerne, an Statt des simplen Strings daraus einen URL machen. Das habe ich einmal als Makro aufgezeichnet und funktioniert grundsätzlich. Das Problem ist nur die Position, an der der Link ausgegeben wird. Das aufgezeichnete Makro habe ich für die Parameterübergabe etwas umgemodelt und gibt mir den Link aber an der aktuell selektierten Zelle aus. Das darf aber nicht sein.
Hier das Makro:
[code]
sub setzeLink (Name As String, URL As String)
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
Dim oZelle As Object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(4) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Hyperlink.Text"
args1(0).Value = Name
args1(1).Name = "Hyperlink.URL"
args1(1).Value = URL
args1(2).Name = "Hyperlink.Target"
args1(2).Value = ""
args1(3).Name = "Hyperlink.Name"
args1(3).Value = ""
args1(4).Name = "Hyperlink.Type"
args1(4).Value = 1
dispatcher.executeDispatch(document, ".uno:SetHyperlink", "", 0, args1())
end sub[/code]
Es geht wohl um die letzte Zeile. Hier habe ich versucht, die aktuelle Zelle von der aufrufenden Sub zu übergeben und an Stelle von "document" einzusetzen, was aber erwartungsgemäß nicht funktioniert. Wie kann ich diesem Makro sagen, wo die Ausgabe erfolgen soll.
MfG, kodela
[color=#800000]Moderation,4[/color]: Betreff angepasst