Hallo Forum,
bin jetzt schon für mein Problem über 2 Stunden am suchen, kann aber für die Lösung nur Teile finden, die nicht zusammen passen. Folgendes Problem:
- ein externers Programm schreibt in die Zwischenablage einen Link (z.B. file://........)
- in meiner Tabelle markiere ich eine Zelle (z.B. E10)
- jetzt drücke ich einen Button ("Linken") der eine Macrofunktion aufruft
- die erstellt jetzt einen Hyperlink in der Zelle (E10) mit dem Link aus der Zwischenablage
Feststellen, welche Zelle markiert ist (also E10) und das rein schreiben, hab ich in einem anderen Macro schon realisiert. Mir geht es also um die Functionen rund um die Zwischenablage. Mir würde (neben einer funktionierenden Funktion) auch schon ein Link langen zu den Befehlen rund um die Zwischenablage.
Vielen Dank schon mal an alle die mir hierzu antworten.
Schmunzel57
P.S: beim Aufzeichnen mit dem Macro-Recorder wird die Funktion [STRG]+V als nicht veränderbarer String umgewandelt. Hier genau fehlt also das Auslesen der Zwischenablage.
_________________
Moderation: Thema verschoben nach Makros und allgemeine Programmierung, wo alle Themen zur individuellen Programmierung hingehören.
Gruß
lorbass, Moderator
Aus Zwischenablage Hyperlink erstellen
Moderator: Moderatoren
-
- Beiträge: 8
- Registriert: Sa, 18.04.2015 14:01
Re: Aus Zwischenablage Hyperlink erstellen
z.B. Sub ConvertClipToText() aus:
https://forum.openoffice.org/en/forum/v ... rd#p222223
erledigt das.
Gruß
Stephan
https://forum.openoffice.org/en/forum/v ... rd#p222223
erledigt das.
Code: Alles auswählen
Sub ConvertClipToText
'This clipboard routine was created by Andrew Pitonyak
'my only adaptation was to make convertedString$ variable a global
'to pass it on to the next subroutine for processing
Dim oClip, oClipContents, oTypes
Dim oConverter
' convertedString$ is now a global
Dim i%, iPlainLoc%
iPlainLoc = -1
oClip = createUnoService("com.sun.star.datatransfer.clipboard.SystemClipboard")
oConverter = createUnoService("com.sun.star.script.Converter")
' Print "Clipboard name = " & oClip.getName()
' Print "Implemantation name = " & oClip.getImplementationName()
oClipContents = oClip.getContents()
oTypes = oClipContents.getTransferDataFlavors()
Dim msg$, iLoc%, outS
msg = ""
iLoc = -1
For i=LBound(oTypes) To UBound(oTypes)
If oTypes(i).MimeType = "text/plain;charset=utf-16" Then
iPlainLoc = i
Exit For
End If
'msg = msg & "Mime type = " & x(ii).MimeType & " normal = " & x(ii).HumanPresentableName & Chr$(10)
Next
If (iPlainLoc >= 0) Then
convertedString$ = oConverter.convertToSimpleType(oClipContents.getTransferData(oTypes(iPlainLoc)), com.sun.star.uno.TypeClass.STRING)
MsgBox convertedString$
End If
End Sub
Gruß
Stephan