Hallo Volti
Vielen Dank, aber ich habe keine Ahnung, was ich dabei Abspecken kann.
Ich habe Office 365 Desktop Version.
Ich sollte damit eigentlich aktuell sein.
Hast du einen Tipp, was ich alles kürzen kann?
Oder anders, was ich alles brauche?
Ich würde diesen Part Oben als erstes in das Modul schreiben:
Option Explicit
Private Declare PtrSafe Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, _
ByVal dwBytes As LongPtr) As LongPtr
Private Declare PtrSafe Function GlobalLock Lib "kernel32" (ByVal hMem As LongPtr) As LongPtr
Private Declare PtrSafe Function GlobalUnlock Lib "kernel32" (ByVal hMem As LongPtr) As Long
Private Declare PtrSafe Function lstrcpy Lib "kernel32" (ByVal lpString1 As Any, _
ByVal lpString2 As Any) As LongPtr
Private Declare PtrSafe Function SetClipboardData Lib "user32" (ByVal wFormat As Long, _
ByVal hMem As LongPtr) As LongPtr
Private Declare PtrSafe Function OpenClipboard Lib "user32" (ByVal hWnd As LongPtr) As Long
Private Declare PtrSafe Function CloseClipboard Lib "user32" () As Long
Private Declare PtrSafe Function EmptyClipboard Lib "user32" () As Long
Dim hMem As LongPtr, lpGMem As LongPtr
Function KopiereinClpbrd(Optional ClpTxt As String) As String
'Kopieren über die API (alternativ)
hMem = GlobalAlloc(&H42, Len(ClpTxt) + 1)
lpGMem = GlobalLock(hMem)
lpGMem = lstrcpy(lpGMem, ClpTxt)
If GlobalUnlock(hMem) = 0 Then
If OpenClipboard(0&) <> 0 Then
EmptyClipboard
SetClipboardData 1, hMem '1=CF_TEXT
CloseClipboard
End If
End If
End Function
__________________________________________________________________________
Diesen Part muss ich dann Anpassen, da mein Text in der Variablen EQNR steht und dann in das Makro an der entsprechenden Stelle einfügen.
__________________________________________________________________________
Sub Copytest()
‘Vorheriger Makroteil
Dim EQNR As String
EQNR = "12345678" 'kommt im Makro aus vorherigem Makroteil
KopiereinClpbrd EQNR
'Nachvolgender Makroteil
End Sub
Ich habe das mal so in einem Testmakro probiert, da hatte es funktioniert.
Ich muß das dann mal in das Original Makro einfügen und ausprobieren.
Was da alles Läuft verstehe ich zwar nicht, aber wenn es funtioniert, ist es erst einmal OK:
:-) :-) :-)
Vielen Dank
Ihr seid die Besten
Gruß Bernd
|