Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Markierten Text aus Textfeld auslesen ?

Forumthread: Markierten Text aus Textfeld auslesen ?

Markierten Text aus Textfeld auslesen ?
Selina
Guten Tag ihr VBA Profis.
Ich hoffe, bei meinem vorliegenden Problem, einmal mehr auf eure tolle Hilfe zählen zu dürfen. :-)
auf einer Userform hab ich u.a. Textfelder mit längerem Text. Im Text drin (können auch mal Hyperlinks stehen)
Nun möchte ich folgendes:
Der User soll die Möglichkeit haben Hyperlinks im Textfeld zu markieren (mittels Maus) und diese dann per Knopfdruck in einem neuen Fenster des Browsers zu öffnen.
Geht das irgendwie ?
Problem ist eben, dass die Hyperlinks nicht alleine im Textfeld stehen, sondern immer irgendwo in einem Text an unterschiedlicher Stelle stehen können.
Danke schon mal herzlich für Eure Hilfe / Tips / Ratschläge !
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Markierten Text aus Textfeld auslesen ?
26.10.2011 11:01:00
Beverly
Hi Selina,
versuche es mal damit:

Private Sub CommandButton1_Click()
Dim IEApp As Object
Dim strSeite As String
strSeite = Trim(Mid(TextBox1, TextBox1.SelStart, TextBox1.SelLength))
Application.Cursor = xlWait
DoEvents
Set IEApp = CreateObject("InternetExplorer.Application")
If Not IEApp Is Nothing Then
IEApp.Navigate strSeite
Do: Loop Until IEApp.Busy = False
Application.Wait Now + TimeValue("00:00:03")
DoEvents
IEApp.Visible = True
End If
Set IEApp = Nothing
Application.Cursor = xlDefault
End Sub



Anzeige
AW: Markierten Text aus Textfeld auslesen ?
26.10.2011 12:25:12
Selina
Hi KArin
Danke schon mal herzlich für diesen Ansatz
werde den Code gleich mal testen und ggf. anpassen.
Feedback folgt hier dann gepostet
;
Anzeige
Anzeige

Infobox / Tutorial

Markierten Text aus einem Textfeld in Excel VBA auslesen


Schritt-für-Schritt-Anleitung

Um den markierten Text aus einem Textfeld in Excel VBA auszulesen und in einem neuen Browserfenster zu öffnen, kannst Du folgenden Code verwenden:

  1. Öffne Deine Userform, die ein Textfeld (z.B. TextBox1) und einen Button (z.B. CommandButton1) enthält.
  2. Füge den folgenden VBA-Code in das Click-Ereignis des CommandButtons ein:
Private Sub CommandButton1_Click()
    Dim IEApp As Object
    Dim strSeite As String
    strSeite = Trim(Mid(TextBox1.Text, TextBox1.SelStart + 1, TextBox1.SelLength))
    Application.Cursor = xlWait
    DoEvents
    Set IEApp = CreateObject("InternetExplorer.Application")
    If Not IEApp Is Nothing Then
        IEApp.Navigate strSeite
        Do: Loop Until IEApp.Busy = False
        Application.Wait Now + TimeValue("00:00:03")
        DoEvents
        IEApp.Visible = True
    End If
    Set IEApp = Nothing
    Application.Cursor = xlDefault
End Sub
  1. Teste die Userform und markiere einen Hyperlink im Textfeld. Klicke dann auf den Button, um den Link in einem neuen Fenster zu öffnen.

Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden"

    • Lösung: Stelle sicher, dass der Name des Textfeldes (TextBox1) korrekt ist und dass es sich auf der Userform befindet.
  • Fehler: "Ungültige Adresse"

    • Lösung: Überprüfe, ob der markierte Text tatsächlich eine gültige URL ist. Achte darauf, dass der Text den "http://" oder "https://" Prefix hat.

Alternative Methoden

Eine alternative Methode wäre, den markierten Text in eine Zelle zu kopieren und dann mit einer Formel zu arbeiten, um die URL zu extrahieren. Diese Methode ist jedoch weniger direkt und kann umständlicher sein.


Praktische Beispiele

Hier ist ein Beispiel, wie Du die Userform einrichten kannst:

  1. Füge ein Textfeld (TextBox1) hinzu, das längeren Text mit Hyperlinks enthält.
  2. Füge einen Button (CommandButton1) hinzu, um den markierten Text auszulesen und zu öffnen.

Wenn Du den Code ausführst und einen Hyperlink markierst, wird der Link in Internet Explorer geöffnet.


Tipps für Profis

  • Nutze Application.ScreenUpdating = False, um die Bildschirmaktualisierung während der Ausführung des Codes zu deaktivieren, was die Leistung verbessert.
  • Achte darauf, dass Du die Internet Explorer Anwendung richtig schließt, um Ressourcen freizugeben.

FAQ: Häufige Fragen

1. Kann ich den markierten Text auch in anderen Browsern öffnen? Ja, Du kannst den Code anpassen, um andere Browser zu verwenden, solange Du die entsprechenden Objekte und Methoden verwendest.

2. Was passiert, wenn ich keinen Text markiere? In diesem Fall wird strSeite leer sein, und es wird kein Fenster geöffnet. Du kannst eine Fehlermeldung hinzufügen, um den Benutzer darauf hinzuweisen.

3. Muss ich etwas in den Excel-Einstellungen ändern? Stelle sicher, dass Makros in Deinen Excel-Einstellungen aktiviert sind, um den VBA-Code ausführen zu können.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige