VBA-Programmierung in Microsoft Excel

Tutorial: Die Dialoge

BeforeDropOrPaste-Ereignis

Tritt ein, unmittelbar bevor der Benutzer Daten in einem Objekt ablegt oder in ein Objekt einfügt.

Syntax

Für das Rahmen-Steuerelement (Frame)
Private Sub object_BeforeDropOrPaste( ByVal Cancel As MSForms.ReturnBoolean, ctrl As Control, ByVal Action As fmAction, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

Für das Multiseiten-Steuerelement (MultiPage)
Private Sub object_BeforeDropOrPaste( index As Long, ByVal Cancel As MSForms.ReturnBoolean, ctrl As Control, ByVal Action As fmAction, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

Für das Register-Steuerelement (TabStrip)
Private Sub object_BeforeDropOrPaste( index As Long, ByVal Cancel As MSForms.ReturnBoolean, ByVal Action As fmAction, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

Für andere Steuerelemente
Private Sub object_BeforeDropOrPaste( ByVal Cancel As MSForms.ReturnBoolean, ByVal Action As fmAction, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

Die Syntax für das BeforeDropOrPaste-Ereignis besteht aus folgenden Teilen:

Teil Beschreibung
object Erforderlich. Ein gültiger Objektname.
index Erforderlich. Der Index eines Page-Objekts in einem Multiseiten-Steuerelement, das von dem Ablegen oder Einfügen betroffen ist.
Cancel Erforderlich. Ereignisstatus. False zeigt an, dass das Steuerelement das Ereignis verarbeiten soll (Voreinstellung). True zeigt an, dass die Anwendung das Ereignis verarbeitet.
ctrl Erforderlich. Das Zielsteuerelement.
Action Erforderlich. Gibt das Ergebnis der anstehenden Drag & Drop-Operation basierend auf den aktuellen Tastatureinstellungen an.
Data Erforderlich. Daten, die in einer Drag & Drop-Operation gezogen werden. Die Daten werden in einem DataObject-Objekt gespeichert.
X, Y Erforderlich. Die horizontalen und vertikalen Koordinaten der Position des Mauszeigers während des Ablegens. Beide Koordinaten werden in Punkten gemessen. X wird vom linken Rand des Steuerelements, Y vom oberen Rand des Steuerelements gemessen.
Effect Erforderlich. Wirkung der Drag & Drop-Operation auf das Zielsteuerelement.
Shift Erforderlich. Gibt den Zustand der Tasten UMSCHALT, STRG und ALT an.

Einstellungen

Die Einstellungen für Action sind:

Konstante Wert Beschreibung
fmActionPaste 2 Das ausgewählte Objekt wird in das Ziel der Ablegen-Operation eingefügt.
fmActionDragDrop 3 Gibt an, dass der Benutzer das Objekt von der zugehörigen Quelle zum Ziel der Ablegen-Operation gezogen hat und es auf diesem abgelegt hat.

Die Einstellungen für Effect sind:

Konstante Wert Beschreibung
fmDropEffectNone 0 Die Quelle der Ablegen-Operation wird nicht auf das Ziel der Ablegen-Operation kopiert oder verschoben.
fmDropEffectCopy 1 Die Quelle der Ablegen-Operation wird auf das Ziel der Ablegen-Operation kopiert.
fmDropEffectMove 2 Die Quelle der Ablegen-Operation wird auf das Ziel der Ablegen-Operation verschoben.
fmDropEffectCopyOrMove 3 Die Quelle der Ablegen-Operation wird auf das Ziel der Ablegen-Operation kopiert oder verschoben.

Die Einstellungen für Shift sind:

Konstante Wert Beschreibung
fmShiftMask 1 UMSCHALT wurde gedrückt.
fmCtrlMask 2 STRG wurde gedrückt.
fmAltMask 4 ALT wurde gedrückt.

Hinweise

Bei einem Multiseiten-Steuerelement oder Register-Steuerelement löst Visual Basic für Applikationen dieses Ereignis aus, wenn ein Datenobjekt zu dem Steuerelement übertragen wird.

Bei anderen Steuerelementen löst das System dieses Ereignis unmittelbar vor dem Ablegen oder Einfügen aus.

Wenn ein Steuerelement dieses Ereignis verarbeitet, können Sie das Action-Argument aktualisieren, um die auszuführende Drag & Drop-Aktion festzulegen. Wenn Effect den Wert fmDropEffectCopyOrMove hat, können Sie dem Action-Argument den Wert fmDropEffectNone, fmDropEffectCopy oder fmDropEffectMove zuweisen. Wenn Effect den Wert fmDropEffectCopy oder fmDropEffectMove hat, können Sie dem Action-Argument den Wert fmDropEffectNone zuweisen. Sie können Action keinen anderen Wert zuweisen, wenn Effect den Wert fmDropEffectNone hat.