Freigeben über


Event.SetFilterObjects-Methode (Visio)

Gibt ein Array von Objekttypen und den Wert True oder False an, um anzuzeigen, wie Ereignisse für jedes Objekt gefiltert werden sollen.

Syntax

Ausdruck. SetFilterObjects( _Objects()_ )

Ausdruck Eine Variable, die ein Event-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
Objects() Erforderlich Long Ein Array von Objekttypen und der Wert True oder False, wodurch angegeben wird, wie Ereignisse für jeden Objekttyp gefiltert werden sollen.

Rückgabewert

Nichts

Bemerkungen

Wenn ein Event-Objekt, das mit der AddAdvise-Methode erstellt wurde, der EventList-Auflistung eines Quellobjekts hinzugefügt wird, werden standardmäßig alle Vorkommen dieses Ereignisses an die Ereignissenke übergeben. Die SetFilterObjects-Methode stellt eine Möglichkeit dar, ausgewählte Ereignisse anhand des Objekttyps zu ignorieren.

Der an SetFilterObjects übergebene Objects()-Parameter ist ein folgendermaßen definiertes Array:

Die Anzahl von Elementen im Array ist ein Vielfaches von 2:

  • Das erste Element enthält einen Objekttyp (visTypePage, visTypeGroup, visTypeShape, visTypeForeignObject, visTypeGuide oder visTypeDoc).

  • Das zweite Element enthält den Wert True oder False, der anzeigt, ob Sie Ereignisse für dieses Objekt überwachen (True zum Überwachen der Ereignisse eines Objekts. False zum Ausschließen der Ereignisse eines Objekts).

Ein Ereignis muss die folgenden Kriterien erfüllen, damit es erfolgreich über einen Objektereignisfilter übergeben wird:

  • Das Ereignis muss einen gültigen Objekttyp aufweisen.

  • Wenn alle Filter True sind, muss das Ereignis mindestens mit einem Filter übereinstimmen.

  • Wenn alle Filter False sind, muss das Ereignis mit keinem Filter übereinstimmen.

  • Wenn die Filter eine Mischung aus True und False sind, muss das Ereignis mit mindestens einem True-Filter und mit keinem False-Filter übereinstimmen.

Wenn in dem Array keine True-Bereiche definiert sind, werden die Ereignisse als True betrachtet.

Wenn Sie beispielsweise nur Ereignisse überwachen möchten, die auf einem Shape oder einer Führungslinie basieren, können Sie ein Array wie das Folgende übergeben:

 
 Dim aFilterObjects(1 To (2 * 2)) As Long 
 aFilterObjects(1) = visTypeShape 
 aFilterObjects(2) = True 
 aFilterObjects(3) = visTypeGuide 
 aFilterObjects(4) = True 

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.