ACC2000: Het verzenden van gegevens naar het Klembord

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 210216 - Bekijk de producten waarop dit artikel van toepassing is.
Geavanceerd: Expert codering, interoperabiliteit en meerdere gebruikers vaardigheden vereist.

Dit artikel heeft betrekking op een Microsoft Access-database (. mdb) en een Microsoft Access-project (. adp).

Alles uitklappen | Alles samenvouwen

Samenvatting

Microsoft Access beschikt niet over een opdracht die informatie verzendt de Klembord. Gegevens naar het Klembord wilt boeken, moet u definiëren een VBA-functie die verschillende functies van Microsoft Windows API aanroept. In dit artikel ziet u hoe u een functie maken die tekst naar het Klembord gekopieerd.

Meer informatie

Informatie kopiëren naar het Klembord, gaat u als volgt te werk:
OPMERKING: U mogelijk sommige Microsoft Windows API-functies die zijn gedefinieerd in een bestaande Microsoft Access-bibliotheek. Daarom is de declaraties mogelijk dubbele records. Als u een foutbericht van de dubbele procedure naam ontvangt, verwijderen of commentaar de declaratie-instructie in uw code.
Microsoft biedt program meer voorbeelden ter illustratie alleen, zonder expliciete of impliciete garantie. Dit omvat, maar is niet beperkt tot, de impliciete garanties van verkoopbaarheid of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend met de programmeer taal worden opgespoord en met de hulp programma's die worden gebruikt bent voor het maken en waarmee fouten in procedures. Ondersteuningstechnici van Microsoft kunnen helpen verklaren de functionaliteit van een bepaalde procedure, maar zij zal deze voorbeelden om extra functionaliteit of samens tellen van procedures om te voldoen aan uw specifieke vereisten niet wijzigen.
  1. Start Microsoft Access en open een data base of het project.
  2. Maak een module en typ of plak de volgende regels in de declaratie sectie:
    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
    
    Public Const GHND = &H42
    Public Const CF_TEXT = 1
    Public Const MAXSIZE = 4096
    					
  3. Typ of plak de volgende procedure:
    Function ClipBoard_SetData(MyString As String)
       Dim hGlobalMemory As Long, lpGlobalMemory As Long
       Dim hClipMemory As Long, X As Long
    
       ' Allocate moveable 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
    
    					
  4. Test deze functie, typ de volgende regel in het venster Direct en druk vervolgens op ENTER.
    ? ClipBoard_SetData ("aan Klembord")
    Druk op CTRL + V (de snel toets voorPlakken) en de opmerking dat 'Naar Klembord' in het venster direct vanuit het Klembord wordt geplakt.

Referenties

Klik voor meer informatie over de Windows API-functies in de Visual Basic Editor declarerenMicrosoft Visual Basic Helpop deHelpin het menu typeDeclare, instructiein de Office-assistent of de Antwoordwizard en klikt u vervolgens opZoekenom het onderwerp weer te geven.

Eigenschappen

Artikel ID: 210216 - Laatste beoordeling: zondag 27 februari 2011 - Wijziging: 2.0
De informatie in dit artikel is van toepassing op:
  • Microsoft Access 2000 Standard Edition
Trefwoorden: 
kbhowto kbprogramming kbmt KB210216 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:210216

Geef ons feedback