Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Clipboard Probleme...
zurück: Counter weiter: Application.ScreenUpdating = False Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Offen Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
kumel
Im Profil kannst Du frei den Rang ändern


Verfasst am:
25. Feb 2013, 17:23
Rufname: Melanie & Robert

Clipboard Probleme... - Clipboard Probleme...

Nach oben
       Version: Office 2013

Hallo Zusammen,
Ich habe folgendes Makro für die Ablage von Textstrings erstellt:

Code:

Sub fnc_SetClipboard(insertVALUE As String)
    Dim ClipSET As DataObject
    Set ClipSET = New DataObject
         
    With ClipSET
        .SetText insertVALUE
        .PutInClipboard
    End With
   
    MsgBox (ClipSET.GetText(1))  ' dient nur zum testen
   
    Set ClipSET = Nothing
End Sub


wenn ich nun einen Text wie beispielsweise:
Code:

clipboardTEXT = ("Zeile1" & Chr(13) & _
                "Zeile 2" & Chr(13)  _
                "Zeile 3" & Chr(13)  _
                "Ende")


und es mit fnc_SetClipboard (clipboardTEXT) aufrufe

sehe ich zwar, dass die entsprechende Texte richtig übergeben werden (MsgBox) aber wenn ich den Inhalt (egal wo) einfügen möchte erhalte ich zwei "??"

seltsamerweise funktioniert das Ganze ab und an - was mache ich hier falsch oder fehlt mir in der fnc_SetClipboard noch etwas?

Nachtr. Auch wenn ich die Zeile mit Set ClipSET = Nothing weg lassen ändert das am Verhalten nichts =(

Die "Microsoft Forms 2.0 Object Library" ist korrekt eingebunden

LG
Melanie

(Dieses Problem habe ich bei Excel 2007, 2010 und 2013 feststellen können)
Isabelle :-)
Menschin


Verfasst am:
25. Feb 2013, 21:54
Rufname:
Wohnort: Westlicher Spiralarm der Galaxis


AW: Clipboard Probleme... - AW: Clipboard Probleme...

Nach oben
       Version: Office 2013

Hallöchen,

ich hab es so:

Code:
Option Explicit

Private Sub fnc_SetClipboard(insertVALUE As String)
    Dim ClipSET As DataObject
    Set ClipSET = New DataObject
    With ClipSET
        Call .SetText(insertVALUE)
        Call .PutInClipboard
    End With
    Set ClipSET = Nothing
End Sub

Public Sub test()
    Dim lngIndex As Long
    For lngIndex = 1 To 10000
        Call fnc_SetClipboard("Zeile1" & vbCr & "Zeile 2" & _
            vbCr & "Zeile 3" & vbCr & "Ende " & CStr(lngIndex))
        Tabelle1.Paste Destination:=Cells((lngIndex - 1) * 4 + 1, 1)
    Next
End Sub

in einer Schleife 10.000 mal laufen lassen und konnte keinen Fehler feststellen.

Hast du das auf einem anderen Rechner mal getestet?

_________________
LG Isi

Die Mitgliedschaft im Forum erhöht deine Chance auf eine Antwort von mir um 99,999%
kumel
Im Profil kannst Du frei den Rang ändern


Verfasst am:
26. Feb 2013, 12:59
Rufname: Melanie & Robert

AW: Clipboard Probleme... - AW: Clipboard Probleme...

Nach oben
       Version: Office 2013

Hallo Isabelle,

vielen Dank für deine Antwort.
ich habe deine Änderungen mal integriert - momentan geht's

>Hast du das auf einem anderen Rechner mal getestet?
Ja habe ich und auch mit verschiedenen Office-Versionen (2007, 2010 und 2013)
wie schon geschrieben - mal gehts mal nicht - ich weiß nicht woran es liegen kann - ab und an werden halt zwei "??" anstatt des Inhalts übergeben (Diese zwei ?? befinden sich dann auch im Zwischenspeicher)!

Irgend etwas muss dazwischenfunken =(

LG
Melanie
Isabelle :-)
Menschin


Verfasst am:
26. Feb 2013, 15:38
Rufname:
Wohnort: Westlicher Spiralarm der Galaxis

AW: Clipboard Probleme... - AW: Clipboard Probleme...

Nach oben
       Version: Office 2013

Hallöchen,

passiert das auch mit deinem Testcode?

_________________
LG Isi

Die Mitgliedschaft im Forum erhöht deine Chance auf eine Antwort von mir um 99,999%
kumel
Im Profil kannst Du frei den Rang ändern


Verfasst am:
27. Feb 2013, 13:39
Rufname: Melanie & Robert


AW: Clipboard Probleme... - AW: Clipboard Probleme...

Nach oben
       Version: Office 2013

Ja - leider. Gerade sitze ich an einem anderen Rechner mit der geänderten Tabelle und hier habe ich das "alte" Problem wieder - es werden zwei Umrandete ?? angezeigt *heul*


Weitere Info:
Ich habe keinen Code in den Tabellen selbst stehen, was ggf. die Fehlfunktion verursachen könnte. Es existieren keine Formatierungen.
Ich kann Zellen oder/und Code ganz normal kopieren und sie sind im Zwischenspeicher solange enthalten bis er überschrieben wird (logisch) - sobald ich die Routine aufrufe, werden die Werte in den Zwischenspeicher geschrieben (erkennbar an der msgbox) aber kurz darauf (nicht immer?!?!?) durch diese "??" ersetzt.

Wenn ich das Ganze in Notepad++ per STRG+V einfüge erhalte ich lediglich "xEF|xBF|xBF|xEF|xBF|xBF"

Code:

Sub aaa()
    Dim ClipSET As DataObject
    Set ClipSET = New DataObject
         
    With ClipSET
         Call .SetText("test")
         Call .PutInClipboard
    End With
   
    MsgBox (ClipSET.GetText(1)) ' Zeigt test an - sprich das Ganze liegt im Zwischenspeicher
   
    Set ClipSET = Nothing
End Sub



LG Melanie
daNorbert
Im Profil kannst Du frei den Rang ändern


Verfasst am:
27. Feb 2013, 15:37
Rufname:

AW: Clipboard Probleme... - AW: Clipboard Probleme...

Nach oben
       Version: Office 2013

Hallo

Du könntest versuchen zuerst vorsichtshalber mal die Zwischenablage ganz zu leeren:

Code:

Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function CloseClipboard Lib "user32" () As Long

Sub aaa()

    OpenClipboard (0)
    EmptyClipboard
    CloseClipboard

    Dim ClipSET As DataObject
    Set ClipSET = New DataObject
         
    With ClipSET
         Call .SetText("test")
         Call .PutInClipboard
    End With
   
    MsgBox (ClipSET.GetText(1)) ' Zeigt test an - sprich das Ganze liegt im Zwischenspeicher
   
    Set ClipSET = Nothing
End Sub


LG
Norbert
kumel
Im Profil kannst Du frei den Rang ändern


Verfasst am:
27. Feb 2013, 16:51
Rufname: Melanie & Robert

AW: Clipboard Probleme... - AW: Clipboard Probleme...

Nach oben
       Version: Office 2013

Hallo Norbert,

vielen Dank für deine Antwort. Leider hat dies nichts gebracht, was die Ausgabe betrifft, es werden immer noch ?? angezeigt =(

Ich habe mal die Tabelle einige male geöffnet und die Routine jeweils geprüft - hier hatte ich das Ergebnis, dass mal der Inhalt korrekt dargestellt in der Zwischenablage vorhanden ist und mal erscheinen die zwei ?? bzw. (im Notepad++) "xEF|xBF|xBF|xEF|xBF|xBF"

LG
Melanie
Isabelle :-)
Menschin


Verfasst am:
27. Feb 2013, 18:38
Rufname:
Wohnort: Westlicher Spiralarm der Galaxis

AW: Clipboard Probleme... - AW: Clipboard Probleme...

Nach oben
       Version: Office 2013

Hallöchen,

ein letzter Versuch, dann weiß ich auch nicht mehr weiter. Beende alle Programme. Öffne eine neue Mappe. Entferne alle Verweis außer die ersten 4 (so andere vorhanden).

Teste diesen Code in einem Standardmodul:

Code:
Option Explicit

Private Declare Function OpenClipboard Lib "user32.dll" ( _
    ByVal hwnd As Long) As Long
Private Declare Function CloseClipboard Lib "user32.dll" () As Long
Private Declare Function EmptyClipboard Lib "user32.dll" () As Long
Private Declare Function SetClipboardData Lib "user32.dll" ( _
    ByVal wFormat As Long, _
    ByVal hMem As Long) As Long
Private Declare Function GlobalAlloc Lib "kernel32.dll" ( _
    ByVal wFlags As Long, _
    ByVal dwBytes As Long) As Long
Private Declare Function GlobalLock Lib "kernel32.dll" ( _
    ByVal hMem As Long) As Long
Private Declare Function GlobalUnlock Lib "kernel32.dll" ( _
    ByVal hMem As Long) As Long
Private Declare Function GlobalFree Lib "kernel32.dll" ( _
    ByVal hMem As Long) As Long
Private Declare Function lstrcpy Lib "kernel32.dll" ( _
    ByVal lpStr1 As Any, _
    ByVal lpStr2 As Any) As Long

Private Const CF_TEXT As Long = 1&
Private Const GMEM_MOVEABLE As Long = 2&

Private Sub StringToClipboard(strText As String)
    Dim lngIdentifier As Long, lngPointer As Long
    lngIdentifier = GlobalAlloc(GMEM_MOVEABLE, Len(strText) + 1)
    lngPointer = GlobalLock(lngIdentifier)
    Call lstrcpy(ByVal lngPointer, strText)
    Call GlobalUnlock(lngIdentifier)
    Call OpenClipboard(0&)
    Call EmptyClipboard
    Call SetClipboardData(CF_TEXT, lngIdentifier)
    Call CloseClipboard
    Call GlobalFree(lngIdentifier)
End Sub

Public Sub Test()
    Dim lngIndex As Long
    For lngIndex = 1 To 10000
        Call StringToClipboard("Zeile 1" & vbCr & "Zeile 2" & _
            vbCr & "Zeile 3" & vbCr & "Ende " & CStr(lngIndex))
        Tabelle1.Paste Destination:=Cells((lngIndex - 1) * 4 + 1, 1)
    Next
End Sub

Wenn der Fehler immer noch da ist, dann ist es ein Programm welches das Clipboard "überwacht". Welches kann ich dir aber nicht sagen, da müsste ich direkt vor deinem Rechner sitzen.

_________________
LG Isi

Die Mitgliedschaft im Forum erhöht deine Chance auf eine Antwort von mir um 99,999%
kumel
Im Profil kannst Du frei den Rang ändern


Verfasst am:
28. Feb 2013, 14:41
Rufname: Melanie & Robert


AW: Clipboard Probleme... - AW: Clipboard Probleme...

Nach oben
       Version: Office 2013

Hallo Isabelle,

danke für den Code - Ich habe ihn in eine neue Tabelle eingefügt - aber leider macht es bei mir bis auf einen Pling im Lautsprecher nichts =(

>Wenn der Fehler immer noch da ist, dann ist es ein Programm welches das Clipboard "überwacht"
hmmm, bis auf Virenscanner läuft kein anderes Programm (abgesehen von den tausend Windowsdiensten) im Hintergrund, das auf eine Überwachung hindeuten könnte.

Dennoch vielen Dank für deine Mühe...

LG
Mel.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel VBA (Makros): Auflösung Array (Clipboard übergeben an Textfelder) 10 Ra1976 150 15. Okt 2013, 13:46
Ra1976 Auflösung Array (Clipboard übergeben an Textfelder)
Keine neuen Beiträge Excel VBA (Makros): Clipboard Paste ohne Einblendung des Sheets? 2 Xypro 55 15. Feb 2013, 15:16
Xypro Clipboard Paste ohne Einblendung des Sheets?
Keine neuen Beiträge Excel VBA (Makros): DisplayFormulaBar & Clipboard 2 mathmanne 113 30. Aug 2012, 22:02
Gerd L DisplayFormulaBar & Clipboard
Keine neuen Beiträge Excel VBA (Makros): Clipboard in String Array kopieren oder Clipboard direkt 0 beatle67 93 14. Aug 2012, 12:59
beatle67 Clipboard in String Array kopieren oder Clipboard direkt
Keine neuen Beiträge Excel VBA (Makros): Makro "Copy in Clipboard" 10 Alex85h 785 29. März 2012, 13:08
Gast Makro "Copy in Clipboard"
Keine neuen Beiträge Excel VBA (Makros): Clipboard automatisch in Textfeld einfügen? 0 lam_tr 260 16. Jun 2010, 13:50
lam_tr Clipboard automatisch in Textfeld einfügen?
Keine neuen Beiträge Excel VBA (Makros): String aus Clipboard in Workbook Event einfügen. Excel 2000 9 ranzau 705 10. Apr 2010, 13:11
ranzau String aus Clipboard in Workbook Event einfügen. Excel 2000
Keine neuen Beiträge Excel VBA (Makros): Clipboard -> Textfeld 5 Ra1976 950 21. Jan 2010, 05:00
Ra1976 Clipboard -> Textfeld
Keine neuen Beiträge Excel VBA (Makros): Excel - Clipboard Funktion ohne Rueckgabewert 8 BoraSys 1626 20. Jul 2009, 10:21
ransi Excel - Clipboard Funktion ohne Rueckgabewert
Keine neuen Beiträge Excel VBA (Makros): text aus clipboard laden, jedes Wort in neue Zelle 2 seb_12345 465 17. Feb 2009, 08:39
seb12345 text aus clipboard laden, jedes Wort in neue Zelle
Keine neuen Beiträge Excel VBA (Makros): Excel2Word via Clipboard mit mehr als 255 Zeichen 3 bourne 950 29. Okt 2008, 16:15
bourne Excel2Word via Clipboard mit mehr als 255 Zeichen
Keine neuen Beiträge Excel VBA (Makros): Clipboard überwachen + Grafiken in Excel einfügen 4 Grim_Reaper 2014 24. Sep 2008, 08:19
Grim_Reaper Clipboard überwachen + Grafiken in Excel einfügen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Project