Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: -------> Neu: dotNet & Visual Studio Forum <-
Text in Zwischenablage kopieren
zurück: String-Replace Funktion mit Variabler Parameteranzahl weiter: Durch Access eine WinWord-Tabelle füllen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
wurst-peter
Du darfst mich auch Wurst nennen.


Verfasst am:
29. Dez 2010, 18:32
Rufname:

Text in Zwischenablage kopieren - Text in Zwischenablage kopieren

Nach oben
       Version: Office 2007

Hallo!

wie kann man in VBA denn einen String in die Zwischenablage übernehmen? Habe hier so Sachen wir Clipboard.SetText oder Clipboard_SetText gelesen, doch das funktioniert bei mir beides nicht.

Gruß,
Wurst
gklumpp
Quick & Dirty Hack Ltd.


Verfasst am:
29. Dez 2010, 18:53
Rufname:


AW: Text in Zwischenablage kopieren - AW: Text in Zwischenablage kopieren

Nach oben
       Version: Office 2007

Hi Wurst,

beim googeln nach "access clipboard" kann man z.B. das hier finden, bei mir tuts auch
Code:
Option Compare Database
Option Explicit

Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long
Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long
Declare Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long _
                                           , ByVal dwBytes As Long) As Long
Declare Function CloseClipboard Lib "User32" () As Long
Declare Function OpenClipboard Lib "User32" (ByVal hwnd As Long) As Long
Declare Function EmptyClipboard Lib "User32" () As Long
Declare Function lstrcpy Lib "kernel32" (ByVal lpString1 As Any _
                                       , ByVal lpString2 As Any) As Long
Declare Function SetClipboardData Lib "User32" (ByVal wFormat As Long _
                                              , ByVal hMem As Long) As Long
Declare Function GetClipboardData Lib "User32" (ByVal wFormat As Long) As Long
Declare Function GlobalSize Lib "kernel32" (ByVal hMem As Long) As Long

Public Const GHND = &H42
Public Const CF_TEXT = 1
Public Const MAXSIZE = 4096
     
Sub testInsClipboard()
    Const Zeile As String = "ABCDEFGH"
   
    Call ClipBoard_SetData(Zeile)
End Sub

Sub testAusClipboard()
    Dim Zeile As String
   
    Zeile = ClipBoard_GetData()
End Sub
     
Function ClipBoard_GetData()
    Dim hClipMemory As Long
    Dim lpClipMemory As Long
    Dim MyString As String
    Dim RetVal As Long
   
    If OpenClipboard(0&) = 0 Then
        MsgBox "Cannot open Clipboard. Another app. may have it open"
        Exit Function
    End If
    ' Obtain the handle to the global memory
    ' block that is referencing the text.
    hClipMemory = GetClipboardData(CF_TEXT)
    If IsNull(hClipMemory) Then
        MsgBox "Could not allocate memory"
        GoTo OutOfHere
    End If
    ' Lock Clipboard memory so we can reference
    ' the actual data string.
    lpClipMemory = GlobalLock(hClipMemory)
    If Not IsNull(lpClipMemory) Then
        MyString = Space$(MAXSIZE)
        RetVal = lstrcpy(MyString, lpClipMemory)
        RetVal = GlobalUnlock(hClipMemory)
        ' Peel off the null terminating character.
        MyString = Mid(MyString, 1, InStr(1, MyString, Chr$(0), 0) - 1)
      Else
        MsgBox "Could not lock memory to copy string from."
    End If
OutOfHere:
    RetVal = CloseClipboard()
    ClipBoard_GetData = MyString
End Function

Function ClipBoard_SetData(MyString As String)
    Dim hGlobalMemory As Long, lpGlobalMemory As Long
    Dim hClipMemory As Long, X As Long
   
    ' Allocate movable global memory.
    '-------------------------------------------
    hGlobalMemory = GlobalAlloc(GHND, Len(MyString) + 1)
    ' Lock the block to get a far pointer
    ' to this memory.
    lpGlobalMemory = GlobalLock(hGlobalMemory)
    ' Copy the string to this global memory.
    lpGlobalMemory = lstrcpy(lpGlobalMemory, MyString)
    ' Unlock the memory.
    If GlobalUnlock(hGlobalMemory) <> 0 Then
        MsgBox "Could not unlock memory location. Copy aborted."
        GoTo OutOfHere2
    End If
    ' Open the Clipboard to copy data to.
    If OpenClipboard(0&) = 0 Then
        MsgBox "Could not open the Clipboard. Copy aborted."
        Exit Function
    End If
    ' Clear the Clipboard.
    X = EmptyClipboard()
    ' Copy the data to the Clipboard.
    hClipMemory = SetClipboardData(CF_TEXT, hGlobalMemory)
OutOfHere2:
    If CloseClipboard() = 0 Then
        MsgBox "Could not close Clipboard."
    End If
End Function

_________________
Gruss Gerhard

WIN XP PRO 2002, Office 2010
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 Access Tabellen & Abfragen: A2k, text in datum umwandeln und jahr aus datum extrahieren 4 Domainhunter 3106 18. Aug 2006, 11:14
Domainhunter A2k, text in datum umwandeln und jahr aus datum extrahieren
Keine neuen Beiträge Access Tabellen & Abfragen: Text anzeigen wenn Zahl ein- oder zweistellig ist 1 Rainer Ratlos 1200 10. Aug 2006, 14:39
Krolligwsw Text anzeigen wenn Zahl ein- oder zweistellig ist
Keine neuen Beiträge Access Tabellen & Abfragen: Kopieren einer Tabelle von Zeilen nach Spalten 2 Andreas_04 675 20. Jul 2006, 12:07
Andreas_04 Kopieren einer Tabelle von Zeilen nach Spalten
Keine neuen Beiträge Access Tabellen & Abfragen: Typumwandlung von Text in Datum 4 Kath 977 17. Jul 2006, 10:06
Kath Typumwandlung von Text in Datum
Keine neuen Beiträge Access Tabellen & Abfragen: Bestimmte DS in eine andere Tbl kopieren 0 FlatEric 569 16. Feb 2006, 16:20
FlatEric Bestimmte DS in eine andere Tbl kopieren
Keine neuen Beiträge Access Tabellen & Abfragen: Datensätze in Tabelle kopieren und einfügen 3 Menzek 3918 10. Feb 2006, 11:48
lothi Datensätze in Tabelle kopieren und einfügen
Keine neuen Beiträge Access Tabellen & Abfragen: Daten aus einer Spalte in eine Zeile kopieren????!!! 1 kingjim_ 773 08. Jan 2006, 00:37
accessmichel Daten aus einer Spalte in eine Zeile kopieren????!!!
Keine neuen Beiträge Access Tabellen & Abfragen: Text in Dezimalzahl umwandeln in A2k 2 azwinzds 2303 07. Dez 2005, 14:44
azwinzds Text in Dezimalzahl umwandeln in A2k
Keine neuen Beiträge Access Tabellen & Abfragen: Werte von Feld1 in Feld2 kopieren 2 cixz 895 30. Sep 2005, 11:50
Gast Werte von Feld1 in Feld2 kopieren
Keine neuen Beiträge Access Tabellen & Abfragen: Datumsfeld in text umwandeln ??? 2 Kruno 1079 13. Sep 2005, 15:37
Willi Wipp Datumsfeld in text umwandeln ???
Keine neuen Beiträge Access Tabellen & Abfragen: Umformatieren von Text in Zahl - wie? 2 Dalmatinchen 774 20. Mai 2005, 14:10
Dalmatinchen Umformatieren von Text in Zahl - wie?
Keine neuen Beiträge Access Tabellen & Abfragen: Datensatz automatisch kopieren??? 0 Edelschnitt 683 11. Mai 2005, 19:41
Edelschnitt Datensatz automatisch kopieren???
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Access Tabellen