DA#-Makro(1): DA#, DA#-API, DA#-Makroübersicht
Dieser Artikel stellt DA# vor, ein inländisches Datenmodellierungstool, und untersucht die API, die von DA# v5 und DA# Macro, einem damit entwickelten Tool, bereitgestellt wird.
1. DA#-Makroübersicht
1.1. Datenmodellierungstool DA#
DA# ist eine inländische Software, die ein in ERD (Entity Relationship Diagram) ausgedrücktes Datenmodell erstellen und verwalten kann, und der Entwickler ist Encore (https://en-core.com/)sein.
DA#-Homepage: https://www.en-core.com/solution/solution2
Der DA#-Bildschirm sieht wie folgt aus. Dies ist ein Bildschirm, auf dem das in DA# enthaltene Beispielmodell geöffnet ist.
Die Hauptmerkmale des DA# sind wie folgt.
Zu den Hauptfunktionen gehören Informationen zur API-Unterstützung.
DA# bietet API ab v5.0 (veröffentlicht 2016). Als Referenz bieten ERwin und PowerDesigner, die fremde Datenmodellierungstools sind, auch APIs.
1.2. DA#-API
1.2.1. Warum Datenmodellierungstools APIs benötigen
Datenmodellierungswerkzeuge sind im Grunde Zeichenwerkzeuge, die rechteckige Kästchen auf einer zweidimensionalen Ebene platzieren, den Inhalt der Kästchen ausfüllen und die Kästchen mit Linien verbinden. Es gibt eine Funktion, die keine andere Wahl hat, als die Maus mehr als die Tastatur zu verwenden.
- Produktivitätsgründe
- Das Arbeiten mit einer Maus ist weniger produktiv als das Arbeiten mit einer Tastatur. Aufgaben, die mit einer Maus durchgeführt werden, sind schwierig zu automatisieren, da es erforderlich ist, dass ähnliche Aufgaben jedes Mal manuell durchgeführt werden. (z. B. Reverse Engineering, Platzieren von Entitäten in Diagrammen (Verschieben von Standorten), Batch-Ändern von Entitätsnamen/Eigenschaftsnamen mehrerer Modelle usw.)
- Indem Sie häufig wiederholte Aufgaben als Werkzeuge erstellen und verwenden, können Sie die für die Arbeit benötigte Zeit verkürzen und die Qualität verbessern, indem Sie Fehler reduzieren oder beseitigen, die jeder machen kann.
- APIs, die von Datenmodellierungstools bereitgestellt werden, sind erforderlich, um diese Tools zu erstellen.
- Gesundheitliche Gründe
- Karpaltunnelsyndrom-Symptome können auftreten, wenn Sie die Maus häufig benutzen. In schweren Fällen werden das Handgelenk und die Finger taub und die Schmerzen sind so stark, dass eine Arbeit unmöglich ist.
- Das Ausmaß der empfundenen Schmerzen ist von Person zu Person sehr unterschiedlich, aber in meinem Fall scheint es schwerwiegend zu sein.
- Wenn Sie den Schmerz auch nur ein wenig reduzieren möchten, müssen Sie die Verwendung der Maus minimieren, und in diesem Fall ist es hilfreich, die API des Datenmodellierungstools zu verwenden.
Insbesondere wenn statt einer oder zwei Dutzende bis Hunderte oder mehr Datenmodelldateien vorhanden sind, ist die API-Nutzung unerlässlich, wenn Informationen im Stapel gesammelt oder einige Informationen eines Modells geändert werden.
1.2.2. DA# API-Konzept und Objektmodell
Die Wikipedia-Definition von API (Application Programming Interface) lautet wie folgt.
API (Application Programming Interface[*], Anwendungsprogrammierschnittstelle) bezieht sich auf eine Schnittstelle, die es einem Anwendungsprogramm ermöglicht, Funktionen zu steuern, die von einem Betriebssystem oder einer Programmiersprache bereitgestellt werden. Es bietet hauptsächlich Schnittstellen zur Dateisteuerung, Fenstersteuerung, Bildverarbeitung und Textsteuerung.
* Quelle: https://ko.wikipedia.org/wiki/API
Einfach ausgedrückt ist eine API eine Möglichkeit, eine Anwendung von anderen Anwendungen zu steuern.
* YouTube-Referenzvideo: API- und Komfortfunktionen von DA# 5 – Einführungsseminar für DA# 5 (https://www.youtube.com/watch?v=iGS7B-hJE-4)
Das Konzeptdiagramm im DA#-API-Handbuch sieht wie folgt aus.
Unten sehen Sie das Diagramm der Anwendung, dem Objekt der höchsten Ebene der DA#-API.
![DA# API: Application](https://prodskill.com/wp-content/uploads/2022/09/image-211.png)
Ähnlich wie das Excel-Objektmodell hat auch die DA#-API das Konzept des Objektmodells.
Bezug: Excel VBA-Kurs (3): Excel-Objektmodell
Das gesamte Objektmodell der DA#-API ist wie folgt. (Dies steht nicht im offiziellen Handbuch, und ich habe es selbst organisiert.)
![DA# API Object Model](https://prodskill.com/wp-content/uploads/2022/09/image-212.png)
Bitte beachten Sie Folgendes.
- In der obigen Abbildung ist das Objekt mit dunklem Hintergrund ein Sammlungsobjekt.
- Grüne Pfeile zeigen auf denselben Objekttyp. Einige der Objekte, die die Hierarchie des Objektmodells bilden, erscheinen auch unter anderen Hierarchien. (Zielobjekte: Modelle, Entitäten, Attribute, Beziehungen, Tabellen)
- UDPS wird in der aktuellen DA#-Version (v5.1.0.4) zum Zeitpunkt der Erstellung dieses Dokuments nicht als Elementvariable bereitgestellt, es kann jedoch über Funktionen darauf zugegriffen werden.
1.3. Einführung in das Makrotool DA#
Das DA#-Makro ist ein Tool, das Stapeloperationen an Datenmodellen ausführen kann, indem es die von DA# v5 bereitgestellte API verwendet. Es wird mit Excel VBA implementiert und verwendet die API von DA# v5.
Es wurde direkt entwickelt, um die Produktivität und Qualität sich wiederholender Musterarbeiten (Get, Set) und der mausintensivsten Arbeit (Reverse) zu steigern, während in mehreren Projekten Arbeiten im Zusammenhang mit Datenmodellen ausgeführt werden. Ich habe v1.0 im April 2018 erstellt und die neueste Version ist v2.11 am 12. Januar 2021.
Die Versionsgeschichte ist wie folgt. Das dritte Element, DA#-Version, bezeichnet die DA#-Version, in der das Makro dieser Version normal funktioniert (bestätigt, wenn die Version verteilt wird).
Datum (Ausführung) | Inhalt | DA#-Version |
2021-08-14 (v2.12) | – Teilweise modifizierte Lizenzinhalte zur öffentlichen Nutzung auf Github – Nachricht am Ende jeder Blattfunktion löschen (Die Leistung wird erheblich verbessert, wenn Sie das Modalfenster in DA# aufrufen, bevor Sie auf die Schaltfläche klicken (z. B. Fenster „Neues Modell erstellen“)) –> Seit DA# v5.0.19.32 wurde die Leistung verbessert, indem das Modal-Fenster während des API-Betriebs intern geöffnet wurde und die Nachrichtenführung nicht mehr erforderlich ist. [Fix] Geänderte Entität, Methode zum Abrufen von Eigenschaften vom Array-Zugriff auf den Zugriff auf einzelne Eigenschaften (Änderung v1.32 rückgängig machen) – Es gab ein Problem, dass einige Eigenschaftswerte beim Zugriff auf das Array nicht gebracht wurden, sodass es wiederhergestellt wurde [Fix] Es wurde ein Fehler behoben, bei dem die Eigenschaftsdefinition nur die erste Eigenschaft einer Entität erhält | 5.0.20.2 oder höher |
2021-01-12 (v2.11) | [Fix] Umgekehrte Eingabedatei beschreibbar lesen, alles lesen und Option nicht schließen hinzugefügt | 5.0.20.2 oder höher |
2021-01-12 (v2.10) | [Hinzufügen] Umgekehrte detaillierte Funktion hinzugefügt – Textfeld für den Namen der Entitätsgruppe hinzugefügt (Schriftartname, Schriftgröße können nicht eingestellt werden) (Die API zum Hinzufügen von Textfeldern wird zum ersten Mal in v5.0.20.2 bereitgestellt, überprüfen Sie also die Version, bevor Sie sie verwenden!) | 5.0.20.2 oder höher |
2021-01-10 (v2.00) | [Hinzufügen] Umgekehrte Funktion hinzugefügt: DA#-Modell erstellt aus Tabellendefinitionen und Spaltendefinitionen, die in Excel-Dateien geschrieben wurden – Mehrere Modelle auf einmal umkehren (DBMSType für jedes Modell, Definition einstellbar) – Kehren Sie um, indem Sie den Themenbereich der Tabelle festlegen und nach Themenbereichen teilen – Durch die Benennung von Entitätsgruppen werden diese gruppiert und innerhalb eines Sachgebiets gruppenweise an einem Ort platziert – Fügen Sie das Textfeld für den Namen der Entitätsgruppe später hinzu… (Derzeit wird keine Textbox-Erstellungs-API bereitgestellt) – UDP-Einstellungen sind in dieser Version nicht enthalten (in Zukunft bei Bedarf enthalten) [Fix] Benannten Bereich der ersten Datenzeile in Kopfzeile ändern (um Fehler beim Löschen der ersten Zeile zu vermeiden) | 5.0.19.32 oder höher |
2020-12-05 (v1.32) | [Verbessern] Ändern Sie die get/set-Methode der Entität und der Eigenschaftseigenschaft von individuellem Eigenschaftszugriff auf Array-Zugriff – Mindestens 2x bis 3x Leistungssteigerung – Ausschluss einiger Eigenschaften, die nicht vom Array-Ansatz bereitgestellt werden (z. B. properties-DomainName, UDP) [Hinzufügen] ReverseTable, ReverseColumn, ReverseType, ReverseLength zu Attribute(Set) hinzugefügt | 5.0.19.32 oder höher |
2020-08-06 (v1.31) | [Fix] Behandlung von Zeilentrennzeichen für Eigenschaften, die in mehreren Zeilen zwischen Entitäten und Eigenschaften eingegeben werden können – Zieleigenschaft: Entitäts-Definition, Art der Datenverarbeitung, Sonderposten, Hinweis, Eigenschafts-Definition – Vor der Änderung: Auch wenn Sie die Entitätsdefinition in Excel in mehreren Zeilen eingeben, wird das in DA# widergespiegelte Ergebnis als eine Zeile ausgegeben – Nach Änderung: Mehrere Zeilen werden normalerweise gespiegelt [Fix] Beheben Sie den Fehler der CopyToSet-Schaltfläche, wenn es nur 1 Zeile im Entity (Get), Attribute (Get)-Blatt gibt | 5.0.19.12 oder höher |
2020-03-01 (v1.30) | [Fix] Geänderte Eigenschaft behandeln (Model.FilePath –> Model.GetFilePath()) | 5.0.19.12 oder höher |
2018-11-10 (v1.23) | [Fix] Attribut (Set) geändert, um Variant Array zu verwenden (nicht Transpose verwenden) | 5.0.13.7 oder höher |
2018-11-07 (v1.22) | [Fix] Geändert vom Extrahieren der Entitäts- und Attributliste nach Themenbereich zum Extrahieren der Entitäts- und Attributliste nach Modell [Fix] Geändert zu Range.Offset-Ansatz aufgrund eines Type Mismatch-Fehlers beim Ausführen von Transpose of Variant Array | 5.0.13.7 oder höher |
2018-09-09 (v1.21) | [Fix] Methode zum Laden der Attributliste geändert (Application.WorksheetFunction.Index –> Direktes Lesen als Variant Array) [Fix] Geändertes GetModel: Wenn das Zielmodell bereits geöffnet ist, behandeln Sie es so, dass es nicht erneut geöffnet wird (unter Verwendung der Model.FilePath-Eigenschaft) | 5.0.13.7 |
2018-09-04 (v1.20) | [Fix] Verbesserte Leistung durch Ändern von Range.Offset (…) direkter Zugriff auf Variant Array [Hinzufügen] Funktion zum Auswählen von Objekten zum Abrufen/Setzen hinzugefügt [Hinzufügen] UDP Get/Set-Funktion hinzugefügt [Hinzufügen] Funktion zum Hinzufügen eines geöffneten Modells zur Liste hinzugefügt (wählbar zum Speichern und Schließen) | 5.0.13.4 |
2018-04-14 (v1.10) | [Fix] Ändern Sie den Zugriff auf den Range-Wert von Range.Text auf Range.Value2 [Fix] Geändert, um zu überspringen, wenn der Range-Wert in Set ein ungültiger Wert wie #N/A als Ergebnis von SVERWEIS ist [Fix] Passen Sie die Reihenfolge der Extraktionselemente von Attribute (Get) an (ändern Sie die Position von Tabellennamen und Attributnamen) [Fix] Fehler behoben, bei dem die Definition von Attribute (Set) nicht gesetzt werden konnte [Hinzufügen] „Sind Sie sicher, dass Sie fortfahren möchten?“, wenn Sie auf die Schaltfläche „Get/Set“ klicken. per Nachricht bestätigen [Hinzufügen] Deaktivieren Sie Undo/Redo, um die Leistung zu verbessern (Model.ActiveAction(False)) [Hinzufügen] ProgressBar auf Set anwenden [Hinzufügen] Schaltfläche „In Set kopieren“ hinzugefügt | 5.0.11.8 |
2018-04-08 (v1.00) | Anfängliche Bereitstellung (bietet grundlegende Funktionen zum Abrufen/Setzen von Entitäten/Attributen) | 5.0.11.8 |
Adler(Excel VBA-Kurs (10): Tools, die mit Excel VBA entwickelt und verwendet werden) wurde wie folgt eingeführt.
Es ist ein Makrotool, das die Nutzung von DA#, einem inländischen Datenmodellierungstool, erhöht. Der DA# bietet eine großartige Funktion namens „Stapelbearbeitung“, die jedoch nur in einer Modelleinheit möglich ist. Dieses Tool ermöglicht das Abrufen von Entitäts-/Eigenschaftsinformationen (Get), Änderungen (Set) und Umkehrfunktionen, die für mehrere Modelle gleichzeitig verarbeitet werden können.
Wenn beispielsweise 100 Datenmodelldateien vorhanden sind, gehen Sie davon aus, dass Sie den vorhandenen Namen ändern möchten, indem Sie dem gesamten Datenmodell vor oder nach der verwalteten einen bestimmten Wert (Systemname oder Firmenname, Nutzungsstatus usw.) stapelweise hinzufügen Entitätsname. siehe.
Auch wenn Sie die Funktion „Stapelbearbeitung“ verwenden, müssen Sie jede Datenmodelldatei einzeln öffnen, speichern, schließen und die nächste Datei wiederholen, nachdem Sie auf dem Bildschirm „Stapelbearbeitung“ gearbeitet haben.
Wenn es nicht viele Ziele für diese Aufgabe gibt und es sich um eine Aufgabe handelt, die nur einmal ausgeführt wird, kann sie manuell bearbeitet werden.
Auch wenn mehrere Datenmodelle vorhanden sind, muss die umgekehrte Einstellung und Ausführung jedes Modells manuell wiederholt werden. Es erfordert viel Aufwand, wenn Sie Dutzende oder Hunderte von Datenmodellen haben.
In diesem Fall kann das in diesem Artikel vorgestellte Makrotool DA# v5 helfen.
Der Ausführungsbildschirm des DA#-Makros sieht wie folgt aus.
Die Hauptfunktionen von DA# Macro sind wie folgt.
- Gemeinsame Funktion
- Schaltfläche Modell auswählen: Modelldateien auswählen (n möglich)
- Schaltfläche „Liste löschen“: Setzt die aktuelle Liste zurück
- Entität/Attribut abrufen
- Schaltfläche „Entität abrufen/Attribut abrufen“: Extrahieren Sie Informationen ausgewählter Modelle nach Excel. Öffnen Sie ausgewählte Modelle, extrahieren Sie Informationen, schließen Sie sie und durchlaufen Sie nacheinander das nächste Modell
- Schaltfläche „In Set kopieren“: Kopiert den Set-Standardwert aus der aktuellen Liste in das Set-Blatt (ohne den Sachgebietsnamen)
- Entität/Attribut festlegen
- Schaltfläche „Entität festlegen/Attribut festlegen“: Spiegelt die Informationen in der Excel-Liste auf das ausgewählte Modell wider. Öffnet, reflektiert, speichert, schließt die ausgewählten Modelle und wiederholt das nächste Modell sequenziell (wenn der Wert in der Excel-Liste leer ist, wird der entsprechende Eigenschaftswert des DA#-Modells nicht geändert)
- Optionen festlegen
- Referenzwert: Referenzwert zum Vergleich der Informationen der Excel-Liste und des DA#-Modells
- Anhängemodus: Ob der Excel-Wert an den aktuellen Wert des Informationselements des DA#-Modells angehängt werden soll
- Umkehren
- Erstellen Sie das DA#-Modell aus einer Excel-Datei mit Tabellen-, Spalten- und FK-Liste (optional).
- Verarbeiten Sie mehrere Modelle und mehrere Themenbereiche gleichzeitig
- Kernfunktion: Anordnung in einem Diagramm für jede Entitätsgruppe innerhalb eines Sachgebietes
- Erstellen Sie das DA#-Modell aus einer Excel-Datei mit Tabellen-, Spalten- und FK-Liste (optional).
1.4. Laden Sie das Makro DA# herunter
Sie können es im Github-Repository unten überprüfen.
https://github.com/DAToolset/DA-Macro
Alternativ können Sie direkt von dieser URL herunterladen.
https://github.com/DAToolset/DA-Macro/raw/main/DA%23%20Macro_v2.12_20210814.xlsm
Bisher haben wir uns die DA#-, DA#-API- und DA#-Makro-Tools angesehen. Als nächstes werfen wir einen Blick auf die Funktionen des DA#-Makros.
<< Liste verwandter Artikel >>
- DA#-Makro(1): DA#, DA#-API, DA#-Makroübersicht
- DA#-Makro(2): DA#-Makrofunktion(1) – Gemeinsame Funktion, Entity Get/Set
- DA#-Makro(3): DA#-Makrofunktion(2) – Attribut abrufen/setzen
- DA#-Makro(4): DA#-Makrofunktion(3)-Rückwärts
- DA# Macro(5): Nutzungshinweise/Hinweise, Downloads, zukünftig hinzuzufügende Funktionen, Hinweise
- DA#-Makro(6): DA#-Modellierer-API
- Demonstrationsvideo der DA#-Makrofunktion (YouTube)
- DA# Makrobeschreibung Inhaltsverzeichnis, Download