Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1272to1276
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zwischenablage abändern / liquidieren

Zwischenablage abändern / liquidieren
Reinhard
Hallo Wissende,
in einem anderen forum haben die Deppen eingeführt daß bei jedwedem was man dort mit Strg+c
herauskopiert hinten angefügt wird:
... mehr [Link]
[Link] bedeutet, dort steht der Link auf den Beitrag wo man rauskopierte.
Ich, wie viele (alle) anderen dort wollen den Mist nicht, ist ja lästig wie ein Kropf :-(
Egal wo man das dann einfügt mit Strg+v, dieser blöde Anhang klebt dran.
Abhilfe wäre sehr einfach wenn jmd. in "Windows" programmieren könnte und dann Strg+c
bei dieser einen Webseite manipuliert bzw. einen neuen tastenkürzel anlegt der wie
Strg+c funktioniert aber gleich den Anhang eliminiert.
Für MS-Office Besitzer habe ich mir jetzt einen workaround überlegt.
Als workaround würde es ja reichen, irgendein Officeprogramm am Laufen zu haben, dort,
nachdem man aus der Webseite mit Strg+c herauskopiert hat, auf einen Button zu klicken,
der die Zwischenablage bereinigt.
Und genau das kriege ich leider nicht hin :-(((((
Nachstehender Code, jetzt für Word, aber egal, in Excel ist es das gleiche Dilemma,
funktioniert insoweit schon ein Stück sodaß beide befehle
MsgBox myData.GetText(1)
Selection.TypeText Text:=myData.GetText(1)
schon wie geplant den Inhalt der Zwischenablage ohne das Anhängsel anzeigen bzw. ins Dokument
schreiben.
ABER bei anschließendem Strg+v ist das Mistding wieder sichtbar *fluch*
Ich als Laie mutmaße es liegt irgendwie am Unterschied der Zwischenablage von Win zu der von Office.
Option Explicit
Declare Function EmptyClipboard Lib "user32" () As Long
Sub Mehr_Entfernen()
Dim ret, myData As New DataObject 'Verweis auf MS Forms2.0 oder Userform einfügen
myData.GetFromClipboard
myData.SetText Split(myData.GetText(1), " ... mehr")(0)
ret = EmptyClipboard()
myData.PutInClipboard
myData.GetFromClipboard
MsgBox myData.GetText(1)
Selection.TypeText Text:=myData.GetText(1)
End Sub

Gruß ^ Danke
Reinhard

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zwischenablage abändern / liquidieren
20.08.2012 16:27:00
CitizenX
Hi,
der folgende Code funktioniert in Word & Excel:

Option  _
Explicit
Sub clibBrd_clearText()
    Dim oClipBoard As Object, Regex As Object
    Dim myString As String
    Set oClipBoard = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    Set Regex = CreateObject("Vbscript.Regexp")
    
   'entfernt wird der Bereich ab einem oder keinem Leerzeichen
   'gefolgt von min einem Punkt und einem od keinem Leerzeichen und dem Wort 'mehr'
    Regex.Pattern = "(.*?)\s*\.+\s*mehr"
    
    With oClipBoard
       .GetFromClipboard
        myString = Regex.Replace(.GetText, "$1")
       .Clear
       .SetText myString
       .PutInClipboard
    End With
End Sub
Nach dem kopieren in die Zwischenablage->Code ausführen-> mit str +v bereinigten Link einfügen.
Grüße
Steffen
Anzeige
AW: Zwischenablage abändern / liquidieren
21.08.2012 07:49:33
Reinhard
Hallo Steffen,
danke für den Ansatz aber die Prozedur entfernt nur die Punkte und "mehr".
Das in der Zwischenablge danach kommende Wort "auf" und der Link bleiben erhalten.
Hier ein Bild dazu:
Userbild
Gruß
Reinhard
AW: Zwischenablage abändern / liquidieren
24.08.2012 09:41:00
CitizenX
Hi,
probiere es mal damit:

Option Explicit
Sub clibBrd_clearText()
Dim oClipBoard As Object, Regex As Object
Dim myString As String
Set oClipBoard = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
Set Regex = CreateObject("Vbscript.Regexp")
'entfernt wird der Bereich ab einem oder keinem Leerzeichen
'gefolgt von min einem Punkt und einem od keinem Leerzeichen und dem Wort 'mehr'
Regex.Pattern = "(.*?)\s*\.+\s*mehr.*?$"
With oClipBoard
.GetFromClipboard
myString = Regex.Replace(.GetText, "$1")
.Clear
.SetText myString
.PutInClipboard
End With
End Sub
Grüße
Steffen
Anzeige
AW: Zwischenablage abändern / liquidieren
26.08.2012 12:21:42
Reinhard
Hallo Steffen,
sorry für die späte Rückmeldung :-(
Ich habe deinen Code getestet, funktioniert wunderwar, danke dafür.
Dort im Forum wird ja von den Usern je nachdem reiner Text oder auch Excelformeln kopiert.
Durch deinen Code ist der lästige Anhang aus der Zwischenablage liquidiert.
Aber bei Formeln gibt es noch ein Problem. Als Laie sage ich mal es hängt mit $1 zusammen.
Die Zeile:
C2: =$J$1
wird korrekt übernommen.

D2: =WENN(A3="";"";WENN(UND(B2$1;B3>$J$1);A2;WENN(UND(B2>=$J$1;B3$1);A5;"")))
erscheint nach Strg+v leider als:
D2: =WENN(A3="";"";WENN(UND(B2copy;B3>$Jcopy);A2;WENN(UND(B2>=$Jcopy;  _
_
B3copy);A5;"")))
Hast du dafür noch was in deiner Schatztruhe? :-)
Gruß
Reinhard
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige