VBA-Programmierung in Microsoft Excel

Tutorial: Die Dialoge

BeforeDragOver-Ereignis

Tritt ein, wenn eine Drag & Drop-Operation durchgeführt wird.

Syntax

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

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

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

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

Die Syntax für das BeforeDragOver-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 der Drag & Drop-Operation betroffen ist.
Cancel Erforderlich. Ereignisstatus. Der Wert False zeigt an, dass das Steuerelement das Ereignis verarbeiten soll (Voreinstellung). True gibt an, dass die Anwendung das Ereignis verarbeitet.
ctrl Erforderlich. Das Steuerelement, über dem der Ziehvorgang erfolgt.
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 Steuerelements. Beide Koordinaten werden in Punkten gemessen. X wird vom linken Rand des Steuerelements, Y vom oberen Rand des Steuerelements gemessen.
DragState Erforderlich. Wert für den aktuellen Zustand der zu ziehenden Daten.
Effect Erforderlich. Operationen, die von der Quelle der Ablegen-Operation unterstützt werden.
Shift Erforderlich. Gibt den Zustand der Tasten UMSCHALT, STRG und ALT an.

Einstellungen

Die Einstellungen für DragState sind:

Konstante Wert Beschreibung
fmDragStateEnter 0 Der Mauszeiger befindet sich innerhalb des Zielbereichs.
fmDragStateLeave 1 Der Mauszeiger befindet sich außerhalb des Zielbereichs.
fmDragStateOver 2 Der Mauszeiger befindet sich an einer neuen Position, verbleibt jedoch im selben Zielbereich.

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

Mit diesem Ereignis können Sie überwachen, ob der Mauszeiger den Bereich eines gültigen Zieles erreicht, verlässt oder direkt über diesem verweilt. Wenn eine Drag & Drop-Operation ausgeführt wird, löst das System dieses Ereignis aus, wenn der Benutzer die Maus bewegt oder die Maustaste(n) drückt bzw. wieder loslässt. Die Position des Mauszeigers bestimmt das Zielobjekt, das dieses Ereignis empfängt. Sie können den Zustand des Mauszeigers ermitteln, indem Sie das DragState-Argument auswerten.

Wenn ein Steuerelement dieses Ereignis verarbeitet, können Sie das Effect-Argument verwenden, um die auszuführende Drag & Drop-Aktion festzulegen. Wenn Effect den Wert fmDropEffectCopyOrMove hat, unterstützt die Quelle der Ablegen-Operation die Operationen Kopieren (fmDropEffectCopy), Verschieben (fmDropEffectMove) oder Abbrechen (fmDropEffectNone).

Wenn Effect den Wert fmDropEffectCopy hat, unterstützt die Quelle der Ablegen-Operation die Operationen Kopieren oder Abbrechen (fmDropEffectNone).

Wenn Effect den Wert fmDropEffectMove hat, unterstützt die Quelle der Ablegen-Operation die Operationen Verschieben oder Abbrechen (fmDropEffectNone).

Wenn Effect den Wert fmDropEffectNone hat, unterstützt die Quelle der Ablegen-Operation eine Abbrechen-Operation.

Die meisten Steuerelemente unterstützen die Drag & Drop-Operation nicht, wenn Cancel den Wert False hat (die Voreinstellung). Mit anderen Worten, das Ziehen und Ablegen von Elementen auf dem Steuerelement wird von dem Steuerelement nicht zugelassen; außerdem löst das Steuerelement das BeforeDropOrPaste-Ereignis nicht aus. Die Steuerelemente Textfeld (TextBox) und Kombinationsfeld (ComboBox) stellen Ausnahmen dar, da sie Drag & Drop-Operationen auch unterstützen, wenn Cancel den Wert False hat.