❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Einfügen als Hyperlink per Makro?

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
Evam
Beiträge: 32
Registriert: Fr 30. Mär 2018, 15:52

Einfügen als Hyperlink per Makro?

Beitrag von Evam » Fr 30. Mär 2018, 21:23

Hallo,

ich würde gerne Links aus Youtube per copy & paste in eine Spreadsheet-Zelle übertragen, so dass die URL sichtbar bleibt und ein Mausklick Youtube im Browser öffnet.

Die "Einfügen als Hyperlink"-Prozedur ist mir zu umständlich, ich will das mit einer einzigen Tastenkombination in Calc schaffen.

Leider funktioniert der Makro-Rekorder nicht , denn die URL wird statisch in den BASIC-Code übernommen:

Code: Alles auswählen

args1(1).Name = "Hyperlink.URL"
args1(1).Value = "https://www.youtube.com/watch?v=abcdefghijk"
Wie bekomme ich die URL auf zuverlässige Weise aus dem Clipboard in args1(1).Value?

Vielen Dank im Voraus
Eva

DavidG
Beiträge: 195
Registriert: Do 22. Mär 2018, 21:41

Re: Einfügen als Hyperlink per Makro?

Beitrag von DavidG » Fr 30. Mär 2018, 21:43

Hallo Eva,

geht ohne Makro:

Menü Extras/ Autokorrektur Optionen…
Register: Optionen
Haken bei URL erkennen

Solltest Du nun die URL eingefügt haben und diese trotzdem nicht als URL erkannt werden,
dann fehlt hinter der URL noch ein Leerschritt.

Also STRG+v und Leerschritt einfügen = URL

Gruß
David
Gruß

David
___________________
WIN 10 PRO
LO 7.4.5.1 (x64)

HeritzP
* LO-Experte *
Beiträge: 966
Registriert: Mo 9. Dez 2013, 19:08

Re: Einfügen als Hyperlink per Makro?

Beitrag von HeritzP » Fr 30. Mär 2018, 21:49

Hallo,

unter Extras -> Autokorrektur-Optionen -> Optionen -> URL erkennen aktivieren.
Damit wird die URL automatisch als Hyperlinks aktiviert.

Alternativ als Formel.

Code: Alles auswählen

=HYPERLINK(A1;A1)
Gruß HeritzP
HeritzP

alles nur geklaut

Evam
Beiträge: 32
Registriert: Fr 30. Mär 2018, 15:52

Re: Einfügen als Hyperlink per Makro?

Beitrag von Evam » Fr 30. Mär 2018, 23:07

Hallo,

die Autokorrektur würde ich gerne vermeiden, da ich sie öfter aus diversen Gründen auch komplett abschalte.

Die Lösung als HYPERLINK() gefällt mir sehr gut, wobei ich gerne alle Daten in der jeweiligen Zelle selbst halten würde - also kein Verweis auf eine fremde Zelle, sondern die URL direkt im Argument:

HYPERLINK("www.meineurl.xyz")

Dies per Makro in eine Zelle zu schreiben scheint einfach, aber alle meiner Versuche zur Makroerstellung sind gescheitert. Geht das doch irgendwie?

Und falls nicht... weiß bitte jemand wie man das Clipboard in eine Variable auslesen kann?

DavidG
Beiträge: 195
Registriert: Do 22. Mär 2018, 21:41

Re: Einfügen als Hyperlink per Makro?

Beitrag von DavidG » Fr 30. Mär 2018, 23:36

Hallo Eva,

ja, es ist kein Problem.
viewtopic.php?t=9474
In diesem Thread hat Karolus, dazu ein Makro geschrieben.
Allerdings müßte es noch für Deine Bedürfnisse angepaßt werden,
da die URL ledglich in einer MSGBox ausgegeben wird.

Es müßte hier für Dich ein Part eingearbeitet werden, der die aktuelle
Cursorposition (Zelladresse) ermittelt, dort ein URL-Feld einfügt und
in dieses dann den Clipboard-Text.
-------------------------------------------------------------------------------------------
Ich habe hier mal einen Code geschrieben, OH :roll: , Verzeihung ich habe Codeteile
von 2 Personen ineinanderkopiert und auf Deine Wünsche hin nachgearbeitet.
Die Urheber sind Komma4 und Karolus.

Code: Alles auswählen

SUB calc_Hyperlink_In_Zelle()
' 20150705
' de 65989
' Author Komma4
' Quelle:http://de.openoffice.info/viewtopic.php?t=65989

' Author Karolus
' Quelle:http://de.openoffice.info/viewtopic.php?t=65989

' Author: DavidG
' Ich habe mir aus beiden Makros die erfoderlichen Dinge herauskopiert
' und entsprechend angepaßt.

' Objekte
Dim oDoc as Object
Dim oSel as Object	' aktuelle Cursorposition
Dim oClip as Object
Dim oConverter as Object
Dim oClipContents as Object
Dim oTypes as Object
Dim textobjekt as Object
Dim oField as Object
Dim convertedString$ as Object
Dim i%, iPlainLoc% as Object
Dim url
Dim link

	oDoc = ThisComponent
	
	' Instanz:	Clipboard Objekt
	oClip = createUnoService("com.sun.star.datatransfer.clipboard.SystemClipboard")
	' Instanz:	Converter
	oConverter = createUnoService("com.sun.star.script.Converter")
	
	' aktuelle Cursorposition
	oSel=oDoc.CurrentSelection

mri oSel
	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
		' dient nicht nur der Anzeige des Clipboard-Inhalts,
		' sondern auch, um ggf. einen Fehler abzufangen, falls der Inhalt kein Text ist.
		' Die msgboxen dürfen aber auskommentiert werden.
		If (iPlainLoc >= 0) Then
			convertedString = oConverter.convertToSimpleType(oClipContents.getTransferData(oTypes(iPlainLoc)), com.sun.star.uno.TypeClass.STRING)
				msgbox convertedString
		Else
			' Für den Fall, dass Clipboard keine einfügbaren Daten enthält
			MsgBox "Nichts zum Einfügen vorhanden"
		End If

	oSel.String=convertedString

	textobjekt = oSel.getText()

' Aufbereiten der URL
url = ConvertToURL(convertedString)

' ÚRL Instanz
link = oDoc.createInstance( "com.sun.star.text.TextField.URL" )
' Instanz besetzen
WITH link
   .URL = url
   .Representation = convertedString
END WITH 

' einfügen in Zelle
oSel.insertTextContent( textobjekt.createTextCursor() , link , TRUE )

END SUB 

Gruß
David
Gruß

David
___________________
WIN 10 PRO
LO 7.4.5.1 (x64)


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten