Bentley Communities
Bentley Communities
  • Site
  • User
  • Site
  • Search
  • User
  • Welcome
  • Products
  • Support
  • About
  • More
  • Cancel
MicroStation
  • Product Communities
  • More
MicroStation
MicroStation Wiki (Deutsch) Automatisches Ausführen beim Öffnen oder Schliessen einer Zeichnung
    • Sign in

    • MicroStation - Wiki (Deutsch)
    • +AECOsim Building Designer
    • +Bentley LEARN
    • +Bentley LumenRT
    • +Bentley Navigator
    • +Bentley View
    • +CONNECTION Client
    • +ContextCapture
    • +Drucken
    • -MicroStation
      • +Animation - MicroStation
      • +Anpassung der Benutzeroberfläche - MicroStation
      • +Ansicht - MicroStation
      • +Archivieren/Sichern - MicroStation
      • +Austausch - MicroStation
      • +Auswahl - MicroStation
      • +Basisgeometrie - MicroStation
      • Behobene Probleme in MicroStation CONNECT Edition Update 13, 10.13.00.48
      • +Bemaßungen - MicroStation
      • +Bemusterung - MicroStation
      • +Benutzerdefinierte Stricharten - MicroStation
      • +Blattaufbau - MicroStation
      • +Dateizugriff - MicroStation
      • +Datenbank
      • +Detailsymbole - MicroStation
      • +DGN - MicroStation
      • +Dokumentation und Hilfe - MicroStation
      • +Drucken - MicroStation
      • +DWG - MicroStation
      • +Ebenen - MicroStation
      • +Eigenschaften - MicroStation
      • +Einheiten - MicroStation
      • +Exception - MicroStation
      • +FAQ - MicroStation
      • +Feature-basierte Volumenelement-Modellierung - MicroStation
      • +Grafikanzeige - MicroStation
      • +Graphics Display - MicroStation
      • +Gruppen - MicroStation
      • +GUI - MicroStation
      • +Hardware/Eingabegeräte - MicroStation
      • +i.Models - MicroStation
      • +Installation - MicroStation
      • +Interferenz - MicroStation
      • +Konfiguration - MicroStation
      • +Koordinatensysteme - MicroStation
      • +Kurven - MicroStation
      • Levels - MicroStation
      • +Manipulation - MicroStation
      • +Messen - MicroStation
      • +Modelle - MicroStation
      • +OLE - MicroStation
      • Other - MicroStation
      • +Parametrics - MicroStation
      • Printing - MicroStation
      • -Programmierung - MicroStation
        • +.NET - Programmierung - MicroStation
        • Alle Modelle löschen
        • +Allgemein - Programmierung - MicroStation
        • -VBA - Programmierung - MicroStation
          • Aktualisierungsfolge mit VBA steuern
          • Anmerkungszellen mit VBA platzieren
          • Anzahl der Elemente in allen Modellen auflisten
          • Ausführen eine VBA Routine per Keyin
          • Ausgabe der Nutzungen aller Ebenen in eine Textdatei
          • Automatisch Plots generieren mit VBA
          • Automatisches Ausfuehren einer Subroutine beim Laden
          • Automatisches Ausführen beim Öffnen oder Schliessen einer Zeichnung
          • Berechnung der Range von gedrehten Zellen
          • Colorpicker in VBA benutzen
          • Darstellungspriorität für Referenzen ändern
          • Darstellungsreihenfolge der Ebenen ändern
          • Darstellungsreihenfolge der Elemente ändern
          • Daten in einer Zeichnung mit VBA suchen und auswerten, Teil 1 - Vorbereitung
          • Daten in einer Zeichnung mit VBA suchen und auswerten, Teil 10 – Sachdaten auslesen
          • Daten in einer Zeichnung mit VBA suchen und auswerten, Teil 2 – Eigenschaften von Elementen auslesen
          • Daten in einer Zeichnung mit VBA suchen und auswerten, Teil 3 – Eigenschaften von Elementen auslesen und in Textdatei exportieren
          • Daten in einer Zeichnung mit VBA suchen und auswerten, Teil 4 – Eigenschaften von Elementen auslesen und in CSV Datei formatiert ausgeben
          • Daten in einer Zeichnung mit VBA suchen und auswerten, Teil 5 – weitere allgemeine Eigenschaften von Elementen auslesen
          • Daten in einer Zeichnung mit VBA suchen und auswerten, Teil 6 – einfache komplexe Elemente auswerten
          • Daten in einer Zeichnung mit VBA suchen und auswerten, Teil 7 – allgemeine komplexe Elemente auswerten
          • Daten in einer Zeichnung mit VBA suchen und auswerten, Teil 8 – verschachtelte komplexe Elemente auswerten
          • Daten in einer Zeichnung mit VBA suchen und auswerten, Teil 9 – Property Handler zur Elementauswertung
          • Dialogbox eines VBA Tools kann geöffnet bleiben
          • Ebenenfarben von RGB auf Indexfarben abändern
          • Elementfarben von RGB auf Indexfarben abändern
          • Farben von Ebenen per VBA ändern
          • Fehler beim Versuch VBA zu laden
          • Gefüllte Flächen in Zellen transparent machen
          • Größe der Ansichten mit VBA ändern
          • Im VBA Editor die richtige Hilfe aufrufen
          • Importieren von Koordinaten aus einer Textdatei und diese Koordinaten mit einer Linie verbinden
          • Koordinaten plus Label importieren aus Ascii Datei
          • Koordinaten von Polygonzügen in Datei exportieren
          • Längen aller Bögen auslesen
          • Makros funktionieren seit Update auf Office 2016 nicht mehr
          • mit VBA alle Blattmodelle nach PDF drucken
          • Mit VBA alle Sachdaten von gewählten Zellen ausblenden
          • Mit VBA alle Texte auf neue Ebene bringen
          • Mit VBA Ausrichtung aller Texte ändern
          • Mit VBA den Pfad zu ausgeschalteten Referenzen auslesen
          • Mit VBA die RGB Werte der Farbtabelle in eine Textdatei exportieren
          • Mit VBA die Transparenzeinstellung der Ebenen ändern
          • mit VBA Ebenen erstellen - Problem bei vorhandenen Ebenen
          • Mit VBA Ebeneneigenschaften (Master und Referenzen) ändern
          • Mit VBA Eckenmodus von benutzerdefinierten Linienarten ändern
          • Mit VBA ein ACS aus einer anderen Zeichnung importieren
          • Mit VBA Elemente mit Benutzerattributen verknüpfen
          • Mit VBA Koordinaten einlesen und Zellen gedreht platzieren
          • mit VBA Linien erstellen, Koordinaten liegen als Längen- und Breitengrade vor
          • Mit VBA Linien Länge 0 löschen
          • Mit VBA Modelle automatisiert umbenennen
          • Mit VBA Modelle löschen
          • Mit VBA Modelleigenschaften über Propertyhandler auslesen
          • Mit VBA Punkte durch Kreise ersetzen
          • Mit VBA Referenzpfade ändern
          • Mit VBA Sachdaten bereinigen
          • Mit VBA Selbstreferenzen zusammen schieben
          • Mit VBA Text aus Zellen löschen
          • Mit VBA Text ersetzen - Teil1: Einstieg
          • Mit VBA Text ersetzen - Teil2: komplexe Strukturen
          • Mit VBA Textelemente aus Zellen entfernen
          • Mit VBA Textfelder suchen und auswählen
          • MVBA stürzt ab beim Öffnen des Projekt-Managers
          • Möglichkeit zur Stapelverarbeitung direkt mit VBA
          • Neuer Textfont kann nicht zugewiesen werden
          • Neues Verhalten beim Ändern der Textausrichtung
          • per VBA Printorganizer steuern
          • Referenzen durchsuchen nach bestimmten Elementen
          • Ungenauigkeit vermeiden bei VBA Methode .FacetSolidAsShapes für SmartSolids
          • VBA - Finden eines Elementes anhand der Dateiposition
          • VBA - Performance bei Auswahlen mit benannten Gruppen verbessern
          • VBA Fehler bei Ausführung: Projekt oder Bibliothek nicht gefunden
          • VBA Objekt PropertyHandler zum Ändern der Element Information
          • VBA-Schnittstellenfehler: 0x80040502
          • VBA:
          • VBA: Assoziative Flächen in Gefüllte Flächen wandeln
          • Vertikale Bemaßung mit VBA platzieren
          • Verwenden von VBA-Makros
          • Vorhandene Referenzen über Zaunauswahl auflisten
          • Wie liest man die RGB Werte der angehängten Farbtabelle aus
      • Programming - MicroStation
      • +Projektnavigation - MicroStation
      • Pseudozellen mit Texten, Font ändern
      • +Punktwolke - MicroStation
      • +Raster - MicroStation
      • +Referenz - MicroStation
      • +Sicherheit - MicroStation
      • +Sonstiges - MicroStation
      • +Standards - MicroStation
      • +Stapelverarbeitung - MicroStation
      • +Tabellen - MicroStation
      • +Text - MicroStation
      • +Visualisierung - MicroStation
      • +Volumenelemente
      • +Volumenelemente - MicroStation
      • +Zeichenhilfen - MicroStation
      • +Zellen - MicroStation
      • Zellen mit Sachdaten auflösen und Sachdaten erhalten
      • Zoom gleichzeitig auf 2 Fenster anwenden mit VBA Eventhandler
      • +Änderungsverfolgung - MicroStation
    • +MicroStation PowerDraft

     
     Questions about this article, topic, or product? Click here. 

    Automatisches Ausführen beim Öffnen oder Schliessen einer Zeichnung

       
      Bezieht sich auf 
       
      Produkt(e): MicroStation
      Version(en): 08.11.09.578
      Umgebung:  Windows XP 64 bit,Windows 7 64 bit
      Produktbereich:  Programmierung
      Produktunterbereich:  VBA
      Ursprünglicher Autor: Artur Goldsweer, Bentley Technical Support Group
       

    Oftmals steht man vor der Aufgabe, beim Öffnen oder Schliessen von Zeichnungen etwas durchführen zu müssen. Sei es um Einstellungen vorzunehmen oder Kontrollroutinen zu starten, die die Zeichnungen prüfen oder korrigieren. 

    Hier möchte ich ein kleines Beispiel vorstellen, das in großen Teilen aus der VBA Hilfe von MicroStation stammt und nur etwas modifiziert und zusammengestellt ist.

    In dem Beitrag zum automatischen Ausführen beim Laden einer VBA Routine hatte ich bereits angemerkt, dass man damit zwar automatisch etwas ausführen kann, aber dies passiert, bevor noch eine Zeichnung geöffnet ist.

    Deshalb kann dieses Beispiel als Erweiterung gesehen werden, und zwar wird in diesem Beispiel beim Laden der VBA Routine ein Eventhandler installiert, so dass später bei jedem Öffnen oder Schliessen einer Zeichnung dieses Ereignis oder Event abgefangen wird, und man beim Eintreten dieser Ereignisse etwas ausführen kann.

    Die Möglichkeit etwas beim Öffnen oder Schliessen habe ich nur durch eine Messagebox angedeutet, dies kann dann für die eigene Verwendung entsprechend ersetzt werden.

    Das Modul mit der Subroutine OnProjectLoad könnte folgendermaßen aussehen:

    Dim oOpenClose As clsOpenClose
    Sub OnProjectLoad()
            Set oOpenClose = New clsOpenClose
            MsgBox "Eventhandler geladen"
    End Sub

    Wenn nun diese VBA Routine so eingestellt wird, dass sie beim Start von MicroStation geladen wird, also über MS_VBAAUTOLOADPROJECTS gelistet ist, wird der Eventhandler im Klassenmodul clsOpenClose geladen.

    Dabei wird ein Klassenmodul clsOpenClose geladen, das gesondert als class Module definiert werden muss:

        Dim WithEvents hooks As Application
    
        Private Sub Class_Initialize()
            Set hooks = Application
        End Sub
        Private Sub hooks_OnDesignFileClosed(ByVal DesignFileName As String)
            MsgBox ActiveDesignFile.FullName + " geschlossen"
        End Sub
    
        Private Sub hooks_OnDesignFileOpened(ByVal DesignFileName As String)
            MsgBox ActiveDesignFile.FullName + " geoeffnet"
        End Sub
    
    

    In diesem Klassenmodul werden die beiden Ereignisse  OnDesignFileOpened  und OnDesignFileClosed abgefangen, d.h. sobald eine Zeichnung geöffnet oder geschlossen wird, erscheint eine Messagebox, die angibt, welche Zeichnung soeben geöffnet oder geschlossen wurde.

    Der Einfachheit halber ist dieses Beispiel als fertiges VBA Projekt hier zum Download hinterlegt:

    VBA Routine zum Installieren eines Eventhandlers

    • VBAWindows XP 64 bit
    • Programmierung
    • MicroStation
    • Windows 7 64 bit
    • 08.11.09.578
    • SELECTsupport
    • de
    • Share
    • History
    • More
    • Cancel
    • Artur Goldsweer Created by Bentley Colleague Artur Goldsweer
    • When: Thu, Apr 9 2015 9:48 AM
    • Artur Goldsweer Last revision by Bentley Colleague Artur Goldsweer
    • When: Thu, Apr 9 2015 9:52 AM
    • Revisions: 2
    • Comments: 0
    Recommended
    Related
    Communities
    • Home
    • Getting Started
    • Community Central
    • Products
    • Support
    • Secure File Upload
    • Feedback
    Support and Services
    • Home
    • Product Support
    • Downloads
    • Subscription Services Portal
    Training and Learning
    • Home
    • About Bentley Institute
    • My Learning History
    • Reference Books
    Social Media
    •    LinkedIn
    •    Facebook
    •    Twitter
    •    YouTube
    •    RSS Feed
    •    Email

    © 2021 Bentley Systems, Incorporated  |  Contact Us  |  Privacy |  Terms of Use  |  Cookies