Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1176to1180
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

Sonderzeichen bei der Zwischenablage

Sonderzeichen bei der Zwischenablage
Sebastian
Hallo,
ich habe wiedermal ein Problem. Wenn ich mit unten aufgeführten Code den Inhalt der Windows zwischenablage in eine Variable schreibe und dann in Zelle B10, bekomme ich das Problem das sich am Ende Leerzeichen und ein Umbruch habe.
Ich weiß zwar das ich die mit Replace weg bekomme, aber irgendwie muß im Code doch ein Fehler sein das dies passiert.
Hat jemand eine Idee?
Vielen Dank
Sebastian
Public Function GetTextFromClipBoard1() As String
Dim workSheet1 As Worksheet
Dim range1 As Range
Dim formats As Variant
Dim format As Variant
Dim text As String
Application.ScreenUpdating = False
Workbooks.Add
Set range1 = ActiveSheet.Range("a1")
formats = Application.ClipboardFormats
text = ""
For Each format In formats
If (format = xlClipboardFormatText) Then
ActiveSheet.Paste Destination:=range1
Exit For
End If
Next format
If (Not ActiveSheet.UsedRange Is Nothing) Then
Dim row As Range
Dim column As Range
For Each row In ActiveSheet.UsedRange.Rows
For Each column In row.Cells
text = text & column.text
Next column
text = text & vbCrLf
Next row
End If
GetTextFromClipBoard1 = text
ActiveWorkbook.Close savechanges:=False
Application.ScreenUpdating = True
End Function
Sub test()
Dim link As String
link = GetTextFromClipBoard1
Range("B10").Value = link
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Sonderzeichen bei der Zwischenablage
15.09.2010 10:07:23
Nepumuk
Hallo,
füge in eine neue Mappe ein Userform ein und lösche es wieder. Das brauchen wir, weil wir den Verweis auf die FM20.dll benötigen. Dann füge in ein Standardmodul folgenden Code ein und teste das mal.
Option Explicit

Public Function GetTextFromClipBoard() As String
    Dim objDataObject As DataObject
    Set objDataObject = New DataObject
    objDataObject.GetFromClipboard
    GetTextFromClipBoard = objDataObject.GetText
    Set objDataObject = Nothing
End Function

Sub test()
    Range("B10").Value = GetTextFromClipBoard
End Sub

Es gibt auch eine Variante welche mit API-Funktionen arbeitet und darum ohne den Verweis auskommt. Damit wärst du aber wahrscheinlich überfordert.
Gruß
Nepumuk
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige