(C) 2009 - 2021 by Mourad Louha · Alle Rechte vorbehalten

Die neuen VBA Features im Workbook Objekt in Excel 2010

Ausgehend von den Ergebnissen meines Tools zum Vergleich der VBA Funktionen zwischen Excel 2010, Excel 2007 und Excel 2003, scheint mir der nächste logische Schritt das systematische Testen der neuen Methoden, Ereignisse, Eigenschaften und Konstanten zu sein.

Leider ist noch keine Dokumentation zu den neuen VBA Funktionen in meiner installierten Version enthalten. Zwar kann oft anhand der Benennung der VBA Elemente dessen Zweck erraten werden, immer wird dies, so denke ich, nicht möglich sein.

Heute habe ich mir die Objekte „Workbooks“, „Workbook“ und „AppEvents“ näher angeschaut. Während in der Auflistung „Workbooks“ in der aktuellen Beta Version von Excel 2010 keine Änderungen festzustellen sind, sind in „Workbook“ einige neue Ereignisse, Methoden und Eigenschaften hinzugekommen, die ich persönlich sehr interessant finde.

VBA Workbook Object

Zunächst eine Auflistung neuer Ereignisse, deren Bedeutung ich bislang ermitteln konnte. Es sind zwar noch weitere Ereignisse vorhanden, diese konnt ich jedoch noch nicht auslösen. Die Ereignisse können im Microsoft Excel Objekt „DieseArbeitsmappe“, wie beispielsweise Workbook_Open(), angesprochen bzw. abgefangen werden.

  • Event AfterSave(Success As Boolean)
    Dieses neue Ereignis wird nach jedem Speichern (per Code oder manuell) der Mappe ausgelöst, wobei Success angibt, ob der Speichervorgang erfolgreich war.
  • Event NewChart(Ch As Chart)
    Sobald ein neues Diagramm in eine Tabelle der Mappe eingefügt wird, wird dieses Ereignis ausgelöst. Dies passiert übrigens auch, wenn per Code ein Diagramm oder ein PivotChart angelegt wird.
  • Event SheetPivotTableChangeSync(Sh As Object, Target As PivotTable)
    Dieses Ereigniss trat bei meinen Experimente als erstes ein, nachdem ich eine Pivot-Tabelle manuell durch Auswahl eines bereits entsprechend vorbereiteten Bereichs und Einfügen der PivotTabelle über den Assistenten angelegt hatte. Ausserdem wird das Ereignis bei jeder Aktualisierung der Daten Pivot-Tabelle ausgelöst. Dies können beispielsweise das Verändern Spalten- und/oder Zeilenbeschriftungen oder eine Aktualisierung der Quelldaten sein. Bei einer Aktualisierung der Pivot-Tabelle tritt dieses Ergeignis vor dem Ereignis „SheetPivotTableUpdate()“ ein während es bei einer Veränderung von Feldern nach dem Update Ereignis eintritt.

Folgend eine Auflistung der neuen Eigenschaften zum Objekt „Workbook“:

  • Property AccuracyVersion As Long
    Diese Eigenschaft gibt mir in meiner normalen Mappe standardmäßig Null zurück. Einen anderer Wert kann zwar per Code gesetzt werden, da die Eigenschaft nicht schreibgeschützt ist. Der geänderte Wert wird nicht mit der Mappe zusammen gespeichert, d.h. nach einem erneuten Öffnen steht der Wert wieder auf Null.
  • Property ActiveSlicer As Slicer
    Diese Eigenschaft liefert den aktuell aktiven „Datenschnitt“ (Slicer) in Form einer Objektreferenz zurück und kann somit per Code manipuliert werden.
  • Property DefaultSlicerStyle
    Diese überschreibare Eigenschaft liefert den aktuell eingestellten Standard-Stil für Datenschnitte (Slicer) zurück, in meinem Fall „SclicerStyleLight1“. Wenn ein anderer Wert übergeben wird, sollte dieser einem vorhandenen Wert entsprechen, da sonst die Eigenschaft auf „None“ gesetzt wird und keine Slicer mehr über die Oberfläche angelegt werden. Eine geänderte Einstellung wird übrigens mit der Mappe abgespeichert, eine Einstellung hierzu in der Oberfläche oder in den Excel Optionen habe ich (noch) nicht gefunden.
  • Property SlicerCaches As SlicerCaches
    Diese Eigenschaft liefert eine Referenz zum Objekt „SlicerCaches“ zurück. Hier werden übrigens doppelt angelegte Slicer erkannt. Mit den neuen Objekten werde ich mich in einem separaten Beitrag beschäftigen.

Zwei neue Methoden sind dem Objekt „Workbook“ hinzugefügt worden:

  • Sub DisableDraftModeAllCharts()
    Schaltet den Entwurfsmodus für alle Diagramme aus.
  • Sub EnableDraftModeAllCharts()
    Schaltet den Entwurfsmodus für alle Diagramme ein.

In den nächsten Artikel werden wir weitere neue Objekte bzw. Objektelemente in Excel 2010 untersuchen.

 

 
Comments

No comments yet.