Microsoft Visio als universelle Graphikengine

Slides:



Advertisements
Ähnliche Präsentationen
Be.as WEB Technologie
Advertisements

Support.ebsco.com Lernprogramm zum Erstellen einer lokalen Sammlung.
Daten fließen lassen XML in Microsoft Office 2003 Lorenz Goebel Frank Fischer
Design- und Entwicklungswerkzeuge
Agenda DataAssist e.K. Probleme heutiger Ansätze der Netzwerkdokumentation Management der Netzwerkdokumentation Management von Rechnern Der NetDoc Server.
Agenda Visio 2003 – ein Tool stellt sich vor
SPS / WSS Entwicklung Martin Saternus Technical Student Consultant Microsoft Deutschland GmbH
Systemverwaltung wie es Ihnen gefällt.
Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Objektorientierung mit VBA
Java: Grundlagen der Sprache
DOM (Document Object Model)
Ein Beispiel in Java.
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Grundlagen im Bereich der Tabellenkalkulation
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Teil I - Erstellen einer Excel-Tabelle zur Deckungsbeitragsrechnung
Excel Kurs Teil I Excel starten, Verknüpfungen auf dem Desktop anlegen. F. Bäumer.
Einführung in Visual C++
Einführung in die Programmierung Datensammlung
Wismar Business School
Einführung MySQL mit PHP
Wizards & Builders GmbH Die Benutzeroberfläche Interaktives Arbeiten mit den Werkzeugen/Assistenten von Microsoft Visual FoxPro.
OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls
Der VFP Debugger - Coverage und Profiling. © 1999 TMN-Systemberatung GmbH Der VFP Debugger n Neues Aussehen, eigene Task n Erweiterte Möglichkeiten n.
Tipps und Tricks für Word 2000 Aytac, Felix, Steffen 04/05.
Crystal Reports 2008.
Automatische Übersetzungen mit Google
MS Excel, Open-/LibreOffice Calc Die Menüs I Office-Logo (Excel2007) bzw. Datei (andere): die Standard-Datei- und Druckoperationen; bei MS Excel hier auch.
Delphi II - OOP IFB Fortbildung
InfoPoint vom 9. November Was ist Joomla? Theorie Installation Extensions Administration Demo.
Steuerung externer Komponenten über ein USB-Interface.
EXCEL PROFESSIONAL KURS
Excel 97 Einführung - Start -.
Kostenlose Alternative zu Microsoft Office
Logo Externer Zugang und Verknüpfungen zu easyLEARN Wissensobjekten.
Michael Köster User Experience Specialist Microsoft Corporation.
Manfred Lindert, Marketing-Kommunikation,
Typo3 Templates und TypoScript
Typo 3. INSTALLATION TYPO3 INSTALLTOOL EXTENSIONS UND TEMPLATES INSTALLATION TEMPLAVOILA USERMANAGEMENT Inhalt:
12. Das Arbeiten mit DokumentvorlagenInhaltsverzeichnis 12. Das Arbeiten mit Dokumentvorlagen 12.1 Grundlagen 12.2 Dokumentvorlagen erstellen 12.3 Dokumentvorlagen.
Microsoft® Office® 2010-Schulung
Windows Presentation Foundation WS 2013/14 Prof. Dr. Herrad Schmidt
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 2 ADO.NET s.a:
HORIZONT 1 XINFO ® Das IT - Informationssystem HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
EP Media Group SiteKist CMS Version 6.9. ©2014 EP Media Group Internet:
Ganzheitliches Projekt-, Ressourcen- und Qualitätsmanagement 1 Reports und AddOns Auf den folgenden Seiten wird Ihnen die Funktionsweise der Reports und.
Wasserfallmodell und Einzelbegriffe
Installation Download Blatt 1 v.6 Datei speichern Download wählen Homepage aufrufen
Oliver Spritzendorfer Thomas Fekete
Herbers Excel-Server - der Workshop
Java-AG Benutzeroberflächen Juni 2001 Michael Haas.
1.4. Erstellen von Diagrammen
Avenue - Kleine Scripte, große Wirkung
ICT – Modul Textverarbeitung
Erste Schritte in DELPHI
Der Windows-Desktop Beispiel für den Windows-Desktop.
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
CSS Cascading Style Sheets
Die Vereinsverwaltung unter Windows 2000 Anhand der folgenden Präsentation werden Sie mit der Verwaltung des Vereins unter Windows 2000 vertraut gemacht.
Überblick über die Kursinhalte
Powerpoint Grafische Oberfläche Folienmaster Folientypen
Start mit PowerPoint 2003 Starten Sie das Programm, erhalten Sie einen leeren Startbildschirm, evtl. mit einem Dialogfenster.
Xenario GmbH · Am Rotdorn 19 · Hannover · FotoWare 7.0 Service Release 5 Wichtige Informationen für Kunden.
Was gibt’s neues im Bereich Anpassung Fabian Moritz Consultant, Developer SharePointCommunity.de.
Grundlagenunterricht Informatik „Präsentation“ Start mit PowerPoint Hinweis: Führen Sie die Aufträge auf den Folien dieser Präsentation gleich aus. So.
Von Wietlisbach, Lenzin und Winter
 Präsentation transkript:

Microsoft Visio als universelle Graphikengine MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 1 Microsoft Visio als universelle Graphikengine Visio als Entwicklungswerkzeug Šenaj Lelić Visio Master Trainer Europe, Certified Visio Development Trainer DataAssist e.K. München und Zürich

Agenda Visio als Produkt Visio als Entwicklungsumgebung Das ShapeSheet als erste Entwicklungsumgebung Automation mit und von Visio Visio: eine leistungsfähige Graphik-engine und Entwicklungsumgebung für visuelle Lösungen oder Graphik-Engine einer größeren Lösung Wo gibt‘s weitere Info‘s?

Voraussetzungen Kenntnisse in der Programmierung von Microsoft Excel sind hilfreich aber nicht unbedingt nötig Grundlagen der Automation von Anwendungen mit VB, VBA oder einer anderen automationsfähigen Programmiersprache

Šenaj Lelić Seit 1991 als IT-Consultant und Trainer tätig MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 4 SenajL@DataAssist.de Seit 1991 als IT-Consultant und Trainer tätig Schwerpunkt Visualisierungslösungen, Systemsoftware, Visio und Datenbanken Seit 1995 Gründer und Geschäftsführer von DataAssist München Visio Master Trainer Europe Certified Visio Development Trainer Certified Visio Anwender-Trainer IT Trainer-Coach

Arbeiten mit Visio Drag & Drop von vorbereiteten Komponenten (Shapes) auf die Zeichnung zur Erstellung eines visuellen Modells der Aufgabe Nicht Zeichnungsfunktionen stehen im Vordergrund, sondern das Hinzufügen von nichtvisuellen Informationen und Verhalten (optischer Container) Nutzung der SmartShape- Technologie ermöglicht einen Einsatz in fast allen Unternehmensbereichen ('Visio ist das grafische Excel')

Terminologie (Smart)Shape (Shape) Stencil (Schablone) Zeichnungsobjekt einer Visio-Seite mit programmierbarem Verhalten Stencil (Schablone) Thematische Sammlung von Shapes in einer eigenen, verteilbaren Datei (.vss)

Terminologie 2 MasterShape (MasterShape) Template (Vorlage) Ein Shape in einer Schablone Template (Vorlage) Entspricht in etwa einer Dokumentenvorlage in Office (voreing. Arbeitsumgebung) ShapeSheet (ShapeSheet) Container für die Shape-Parameter, wird von der Visio-Engine ausgewertet

Die Visio 2000 Produktfamilie Visio Standard Ablaufillustration Visio Technical HVAC, Maschinenbau Visio Professional Netzwerke, Software Visio Enterprise IT-Doku & Planung Visio Enterprise Visio Professional Visio Standard Visio Technical

Die Visio 2002 Produktfamilie Visio Standard Ablaufillustration Organigramme Visio Professional (= Technical + Prof.) HVAC, Maschinenbau Netzwerke, Software Visio Network Center (reines Add-On) IT-Doku & Planung IT-Modellierung Visio Network Center Visio Professional Visio Standard

Visio Standard Geschäftsdiagramme und Fluss-diagramme Grafische Darstellung von Organisationsstrukturen Grafische Planung von Projekten Erstellung von Zeichnungen für Präsentationen Weiterere Geschäftszeichnungen wie Formulare, Landkarten & Grafiken

Visio Technical Exaktes CAD-ähnliches Zeichnen und Arbeiten Verfahrenstechnik-Zeichnungen und Plandiagramme Grundrisse, Baupläne im Bereich Facility Management Erstellen weiterer anlage- technischer Zeichnungen Elektrische und elektronische Schemadiagramme für Steuersysteme

Visio Professional LAN-Dokumentation und Entwurf Dokumentation von Verzeichnisdiensten Planung von Web-Sites Softwarekomponenten- Entwurf Datenflussdiagramme Entwurf von Datenbankmodellen Analyse von Geschäftsprozessen

Visio Enterprise (2000 !) Die gesamte Funktionalität von Visio Professional plus: Auto-Discovery von Netzen UML-Softwaremodellierung Datenbank-Modellierung Software-ReEngineering Visio Network Equipment

Individuelle Visio-Lösungen Inkrementelle Lösungen mit Visio Entwurf anwendungsspez. Shapes SmartShapes, Datenfelder, etc. DB-Assistent ShapeSheet-Programmierung, VBA-Makros Automation, Modellierung DB-Zugriff Visuelles Frontend einer Enterprise-Lösung

Komponenten einer Lösung Erst durch die Kombination aller Elemente entsteht eine komplette Visio-Lösung

Visio-Lösungen wachsen MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 16 Machen Sie Ihre Shapes zu SmartShapes™ Erleichtern Sie sich die Arbeit mit Vorlagen Nutzen Sie die Möglichkeiten der Automation Erstellen Sie mit Add-Ons visuelle Modelle Visio als visuelles Frontend im Unternehmen

Die Visio-Umgebung Schablonen Vorlagen Visio Engine VBA VSL EXE Automation Interface Add-ons MS Office ODBC/ADO Eigene

Entwicklungsumgebung 1: Das ShapeSheet in Visio MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 18 Entwicklungsumgebung 1: Das ShapeSheet in Visio

Shapes: parametrische Objekte GUI-Aktion ShapeSheet Shape als Ergebnis

Das ShapeSheet Die Grundlage für Visio‘s Flexibilität Shapes sind parame-trische Objekte Alle relevanten Shape-Daten finden sich im ShapeSheet und werden dort definiert und geändert Auch für den Einsatz von Automation not-wendiges Grund-wissen

Ereignisse im ShapeSheet Ereignisse Abschnitt TheText EventDblClick EventXFMod EventDrop

DependsOn im ShapeSheet Wird typischerweise in einer benutzer-definierten Zelle eingesetzt: =Runaddon("string") + DependsOn(trigger cell) =Setf("Cell",formula) + DependsOn(trigger cell) Damit lassen sich Änderungen im ShapeSheet überwachen, ohne VBA zu benötigen

Beispiel zu DependsOn Setzen der Füllfarbe über Datenfeld oder alternativ über das User Interface Ein Datenfeld mit der Farbe erzeugen Zwei benutzerdefinierte Zellen einfügen =DependsOn(Prop.Color) + Setf("FillForegnd",Prop.Color) =DependsOn(FillForegnd) + Setf("Prop.Color",FillForegnd)

ShapeSheet vor Code Formeln im ShapeSheet sind der effizienteste Weg, um in Visio eine Ereignisbehandlung zu erreichen. Schreiben Sie keine Routinen für die Ereignisbehandlung, wenn Formeln in Zellen ausreichen!

Demo ShapeSheet- Programmierung

Entwicklungsumgebung 2: Automation in Visio MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 26 Entwicklungsumgebung 2: Automation in Visio

Das Visio Objektmodell Klar strukturierter Aufbau, schlank Vordefinierte Objekte für Dokument, Seite und Fenster etc. Grafisch über Online-Hilfe navigierbar

Entwicklungsumgebungen VBA Integriert - Development right out of the box! Schnell, geeignet für die meisten Aufgaben COM-fähige Sprachen Z.B. VB, VC++, VBA, Delphi, etc. Für externe Add-Ons: VSL Zur Integration von Visio in eigene Systeme

Wie wird entwickelt MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 29 ShapeSheet und VBA-Code sind in Visio miteinander verbunden Nicht Visio wird gesteuert, sondern das darunter liegende ShapeSheet für jedes Shape (selbst das Zeichenblatt !) Für eine effektive Entwicklung sind sowohl Kenntnisse der ShapeSheet-Programmierung als auch von Automation (VB(A), C++, Delphi) nötig Grundregel: Erst Shapes.... Dann Code

Planung einer Visio-Lösung MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 30 Vorlagen erleichtern den Benutzern die Arbeit Das Programm muss folgende Aufgaben erfüllen: User Interface und Schutz Dateioperationen, Datenablage Behandlung der einzelnen Shapes Performance bedenken (VSD‘s > 10000 Shapes)

Coding Issues Early vs. late binding, Variants meiden VBA code ist Bestandteil der Zeichnung Code kann geschützt werden – Extras / Eigenschaften / Schutz im VBA-Editor Zusammengesetzte Statements sind möglich, aber schwerer zu debuggen

Wann läuft der Code? Beim Start von Visio 2000 Aus dem Add-On Menü MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 32 Beim Start von Visio 2000 Pfad für Add-On einstellen Aus dem Add-On Menü Der Visio „Entwickler-Modus“ Beim Öffnen eines Dokuments Alternativ RunModeEntered Bei der Auswahl einer Menüoption Oder Aktivierung eines Toolbar-Buttons

Ein Dokument erzeugen MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 33 Verweis auf die "Documents" collection des Application-Objekts erzeugen Set oDocs = Visio.Application.Documents 'oder Set oDocs = Application.Documents 'oder Set oDocs = Documents Ein neues Dokument hinzufügen Set oDoc = Documents.Add("Diagramm.vst") Set oDoc = Documents.Add("") Set oDocStencil = Documents.OpenEx( _ "Blocks.vss", visOpenDocked)

Verweise auf Mastershapes MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 34 Die Schablone bestimmen Set oDocStencil = Documents("Basic Shapes.vss") Die "Masters" Collection der Schablone holen Set oMasters = oDocStencil.Masters Verweis auf die abzulegenden Shapes Set oMaster = oMasters.Item("Star 5") 'oder Set oMaster = oMasters("Star 5") Sicherstellen, dass auf die Masters der Schablone zugegriffen wird, nicht die der Zeichnung!

Master auf der Seite ablegen MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 35 Die Zeichnungsseite holen Set oPage = ActiveDocument.Pages.Item(1) Set oPage = ActivePage Das Mastershape ablegen Set oShape = oPage.Drop(oMaster,4.25,5.5) 4.25, 5.5 geben die Koordinaten des Pin‘s an und werden immer in Inch angegeben! Bei Bedarf mit ConvertResult die Einheiten umrechnen

Text zu Shapes hinzufügen MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 36 Die Text-Eigenschaft des Shapes setzen oShape.Text = “Das ist ein String" ASCII linefeed erzeugt Zeilenumbrüche oShape.Text = "Karl Namenlos" & _ Chr$(10) & "Vorstandsschläfer" Anführungszeichen in Strings verdoppeln shpObj.Text = """Hello?""" Eine übersichtlichere Möglichkeit: shpObj.Text = Chr$(34) & "Hello" & Chr$(34)

Formeln von Shapes lesen MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 37 In Visio’s Objektmodell wird eine Formel durch ein Cell-Objekt repräsentiert So erhalten Sie ein Cell-Objekt Set oCell = oShape.Cells("Width") So erhalten Sie ein Cell-Objekt einer Seite (auch die Seite ist ein Shape) Dim oPageSheet as Visio.Shape Set oPageSheet = ActivePage.PageSheet Set oCell = oPageSheet.Cells("PageWidth")

Formel oder Ergebnis? MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 38 Die Eigenschaft Formula einer Zelle liefert die ShapeSheet-Formel als String Dim sFmla = String sFmla = oCell.Formula Die Eigenschaft Result liefert den Wert der Formel als Double in den angeg. Einheiten Dim dFmlaResult as Double dFmlaResult = oCell.Result("in") dFmlaResult = oCell.Result("mm") Siehe auch ResultInt, ResultIU, ResultStr

Eine Formel festlegen Setzen Sie die Eigenschaft Formula: MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 39 Setzen Sie die Eigenschaft Formula: oCell.Formula = "=GUARD(Width*2)" Setzen Sie die Eigenschaft Result oCell.Result(visNumber) = 42 Auch ResultInt und ResultIU lassen sich setzen, ResultStr ist read-only Zum Überschreiben einer geschützten Formel benutzen Sie FormulaForce (Formeln lassen sich mit Guard schützen)

Eine Collection bearbeiten MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 40 Die meisten Collections in Visio starten bei 1, außer UI objects und Systemsachen (bei 0) Die Count Eigenschaft liefert die Anzahl der Elemente einer Collection Seit Visio 2000 auch über for each For each shp in ActivePage.Shapes 'shape bearbeiten Next shp

Wichtige Eigenschaften MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 41 Masters, Pages, Styles, Fonts, Colors Name, Fullname, Path Creator, Description, Keywords, Subject, Title ReadOnly, Saved, InPlace

Daten aus Seiten auslesen MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 42 Eine Seite holen Set oPage = oPages.Item("pagename") Set oPage = oPages.Item(index) Die aktive Seite holen Set oPage = Application.ActivePage (Das aktive Fenster muss ein Zeichen-fenster sein, sonst erhält man einen Fehler!)

Daten aus Shapes auslesen MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 43 Eine Shape-Collection kann 'normale' Shapes, Gruppen, Führungslinien, linked/embedded objects enthalten Die Type Eigenschaft liefert den Typ des Shapes: visTypeShape, visTypeGroup, visTypeGuide, visTypeForeignObject, visTypePage Weitere Infos in der Entwickler-Referenz Online-Hilfe oder im DVS

Mit Fenstern arbeiten MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 44 Das aktive Fenster feststellen Set oWindow = Visio.ActiveWindow Den Typ eines Fenster feststellen If oWindow.Type <> visDrawing Then Debug.Print "Kein Zeichenfenster" End If Type: visDrawing, visSheet, visStencil, visIcon SubType: visPageWin, visMasterWin, visPageGroupWin, visMasterGroupWin

Die Methode CellsSRC MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 45 Nutzen Sie CellsSRC, um über Abschnitt, Zeile und Zelle auf Shapes zuzugreifen Set oCell = oShape.CellsSRC _ (visSectionControls, _ '(Controls Absch.) visRowControl + 3, _ '(4. Zeile) visCtlX) '(Controls.X Zelle) Siehe auch die Methoden SectionExists, RowExists, CellExists, CellsSRCExists Eine Überprüfung sollte immer statt-finden, da evtl. Abschnitte im Shapesheet fehlen können!

Visio-Ereignisbehandlung MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 46 Verhalten in ShapeSheet-Zellen ShapeSheet Ereignisse VBA Code hinter Ereignissen Für Visio-Objekte Für ActiveX Controls

Zell-Abhängigkeiten Eine Formel kann von anderen Zellen abhängen PinY =(BeginY+EndY)/2 EndY = PAR(PNT( Sheet.2!Connections.X1, Sheet.2!Connections.Y1)) Es gibt ein Abhängigkeitsnetzwerk: PinY hängt ab von EndY, da wiederum von Sheet.2!Connections.X1 abhängt. Der Wert von Connections.X1 ändert sich und sorgt dafür, daß EndY und PinY neu berechnet werden.

VBA code für Ereignisse Ereignisse sind Teil der Typelib für Visio Die Objekte haben Ereignisse definiert, die nur bei bestimmten Objekttypen feuern Ereignisbehandlung mit VBA auch in Visio 5.x

Unterstützte Ereignisse

Hierarchische Ereignissketten Wählen Sie die Quelle, die für Ihre Aufgabenstellung am sinnvollsten ist Viele Ereignisse werden von mehr als einem Objekt generiert: Page.ShapeAdded -> Feuert, wenn ein Shape der Seite hinzugefügt wird Doc.ShapeAdded -> Feuert, wenn ein Shape irgendeiner Seite des Dokuments hinzugefügt wird App.ShapeAdded -> Feuert, wenn ein Shape irgendeiner Seite in irgendeinem Dokument der Anwendung hinzugefügt wird Im VBA-Objektbrowser erhalten Sie Informationen über die einzelnen Ereignisdefinitionen

Document Ereignisse Das vor-instantiierte Document-Objekt gibt Ihnen Zugriff auf verschiedene Ereignisse

Arbeiten mit WithEvents MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 52 Das “WithEvents” Schlüsselwort erlaubt das Schreiben von Code für jedes Quellobjekt eines Ereignisses Die WithEvents Variable muss an ein bestehendes Objekt 'gebunden' werden: Dim WithEvents aPage As Visio.Page Set oPage = Visio.ActivePage

ActiveX Controls Jedes ActiveX Control kann in ein Visio-Dokument eingefügt werden. Das Dokument muss sich im Run-Mode befinden, damit Ereignisse ausgelöst werden Ereignisbehandlung für ActiveX-Controls geschieht auf die gleiche Weise wie für Visio-Objekte mit WithEvents Bis voraussichtlich Jahresende wird es auch ein Visio ActiveX-Control geben (für Viewer-Funktionalität)

Hinweise MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 54 Einstellungen unter Extras/Optionen können die Ereignisbehandlung abschalten Application.EventsEnabled kann dazu ebenfalls benutzt werden Persistenz wird durch zwei Methoden möglich: DocumentOpened RunModeEntered

Shapes verbinden MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 55 Holen Sie sich ein Zellobjekt, welches einen Teil des Shapes darstellt, von dem die Klebung ausgeht Nutzen Sie GlueTo oder GlueToPos dieses Zell-Objektes und geben Sie an, an welchem Shape Sie ankleben wollen

Die Ausgangszelle Steuerelement (Control handle) MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 56 Steuerelement (Control handle) oFromCell = oShape.Cells(“Controls.X1”) Beginn- oder Endpunkt eines 1-D Shapes oFromCell = oShape.Cells(“BeginX”) Ecke eines Shapes (an "PinX" oder "Geometry1.X1" Zellen bei Führungslinien) oFromCell = oShape.Cells(“AlignLeft”) Jede Zelle eines X,Y Paares ist möglich (die andere wird von Visio automatisch geklebt)

An andere Shapes ankleben MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 57 GlueTo klebt an spezifische Stelle eines Shapes oFromCell.GlueTo _ oToShape.Cells("Connections.X1") GlueToPos klebt an eine X,Y Position, die einen Anteil des Ausrichtungs-feldes des Shapes darstellt oFromCell.GlueToPos oToShape, 0.5, 0.5 GlueToPos erzeugt immer einen Verbindungspunkt, selbst wenn bereits einer vorhanden ist.

Daten zu Shapes hinzufügen MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 58 Sie erhalten über die Eigenschaft Cells jede benannte Zelle in einem ShapeSheet, auch Datenfelder oder benutzerdefinierte Zellen Was passiert, wenn die Zelle nicht existiert? Kann durch CellsExists getestet werden Zelle kann per VBA hinzugefügt werden

Infos über Connections MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 59 Die Connects Eigenschaft eines Shapes liefert dessen Verbindungen Enthält für jedes Shape, an das angeklebt wurde, ein Connect-Objekt FromSheet, ToSheet Eigenschaften FromPart, ToPart Eigenschaften FromCell, ToCell Eigenschaften

Steuerelement zu Shape MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 60 A verbunden nach B (2-D nach 2-D über Steuerelement) A hat einen connects.Count = 1 FromSheet = A, ToSheet = B FromPart = visControlPoint + 0 ToPart = visConnectionPoint + 0 FromCell, ToCell = Cell-Objekte für FromPart, ToPart

Window-Eigenschaften Zoom Liest oder setzt die Zoomeinstellung (Fliesskommawert 1.00 = 100%) Page, PageFromName, PageAsObj Liest oder setzt die angezeigte Seite

Window-Methoden GetViewRect DockedStencils Activate Liefert Koordinaten des Fensterrahmens DockedStencils Liefert die Namen aller geöffneten Schablonen Activate Aktiviert das entsprechende Fenster

Windows.Add Damit erzeugen Sie ein neues Fenster im Bereich der Visio-Anwendung ActiveWindow.Windows.Add("My Anchor", , _ visAnchorBarAddon) Kann von folgendem Typ sein: visAnchorbarAddon, visStencilAddon, oder visDrawingAddon

Windows.Add - 2 Die ideale Basis für Add-Ons und eigene Lösungen innerhalb der Visio Anwendungsoberfläche

Spatial Relations Mit SpatialRelation stellen Sie die räumliche Beziehung zweier Shapes fest. Liefert einen der angegebenen Werte: visSpatialOverlap, visSpatialContain, visSpatialContainedIn, visSpatialTouching visSpatialOverlap

Query Events Neu seit Visio 2000 MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 66 Neu seit Visio 2000 Sie können jetzt auf Ereignisse testen und diese bei Bedarf auch abbrechen

Das Visio-UI anpassen Was kann angepasst werden? MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 67 Was kann angepasst werden? Menüeinträge Shortcuts Symbolleisten Statuszeilen Größe der Änderung sollte beachtet werden, je nach Aufwand zwei Lösungswege

UI-Objekte im Objektmodell MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 68

Mögliche UI-Änderungen MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 69 Umfang der Änderungen Kleine Änderungen direkt durchführen Große Änderung in UI-File schreiben Persistenz Dauerhafte Änderungen an das Dokument oder an die Applikation binden Temporäre Änderungen direkt durchführen oder ein UI-File laden

Unique Ids für Shapes MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 70 Kann zur Verknüpfung eines Shapes oder eines Masters mit einem Datensatz in einer Datenbank verwendet werden Als Vorgabe besitzen MasterShapes eine ID, normale Shapes besitzen keine Beispiel: {2287DC42-B167-11CE-88E9-0020AFDDD917}

Arbeiten mit GUIDs MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 71 Lesen einer UniqueID: IDStr = shpObj.UniqueID(visGetGUID) Lesen und Erzeugen einer UniqueID IDStr = _ shpObj.UniqueID(visGetOrMakeGUID) Löschen einer UniqueID shpObj.UniqueID(visDeleteGUID)

Visio und XML (2002) MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 72 Visio 2002 kann jede Zeichnung im Format XML, alternativ zum Binärformat speichern Viele Möglichkeiten für Erweiterungen Spezifikation in „XML for Visio“-Whitepaper (alle Whitepaper auf MSDN verfügbar)

Embedded Visio Visio lässt sich in Gesamtlösungen einbetten MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 73 Visio lässt sich in Gesamtlösungen einbetten Aber: Visio muss auf dem System separat installiert sein Visio-ActiveX-Control in Vorbereitung

Planung einer Visio-Lösung MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 74 Erst Shapes ... – dann Code! Vorlagen für die Lösung erleichtern den Benutzern die Arbeit Programm muss folgende Aufgaben erfüllen: User Interface und Schutz Dateioperationen, Datenablage Behandlung der einzelnen Shapes

Verteilung & Wartung Deployment Wartung Weitergehende Anpassungen Verteilung von Vorlagen und Schablonen Wartung Problematisch, da VBA Code in Dokument Alternative: VBA in der Schablone, 'leere' Datei Alternative: externe Automation Weitergehende Anpassungen Über die Registry-Settings, PC-spezifisch!

Demo(s) Automations- Programmierung mit Visio

mitgelieferte Lösungen MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 77 Konkrete Anwendung in Visio selbst – mitgelieferte Lösungen

Datenbankmodellierung mit Visio MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 78 Gemeinsame Engine und Dateiformat Technical Professional Enterprise Standard

Demo Datenbankmodellierung mit Visio

Softwaremodellierung mit Visio MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 80 Softwaremodellierung mit Visio Gemeinsame Engine und Dateiformat Technical Professional Enterprise Standard

Demo Softwaremodellierung mit Visio

Wo gibt's Informationen MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 82 Online ActiveX Automationsreferenz Entwickler-Referenz aus dem Hilfe-Menü Installiert in \Visio\Help bei der Installation Suche nach Objekt, Eigenschaft, Methode, Ereignis Im Object Browser (in VBA [F2]) Microsoft Developer Network unter http://msdn.microsoft.com/visio

Wo gibt's Informationen (2) Im Ordner DVS Libraries enthalten Informationen für C, VB C-cpp VB Sample Applications VB Solutions VBA Solutions Developing Visio Solutions Buch

Trainings Training erfolgt stufenweise Anwendertraining (2 Tage) Visio Development Training (5 Tage) Workshops zu Spezialthemen (1-2 Tage)

Wo gibt’s weitere Info’s? MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 85 MSDN online http://www.microsoft.com/germany/msdn MSDN quickie http://www.microsoft.com/germany/msdn/quickie MSDN TechTalk-Newsgroup news://msnews.microsoft.com/microsoft.public.de.german.techtalk VBA-Magazin http://www.vba-magazin.de 4/99, 6/99, 5/2000, 2/2001 Bücher Edson, David “Professional Development with Visio 2000”, Sams, ISBN: 067231813X

Noch Fragen? Microsoft TechEd 2001 Visio Development Training Visio Newsgroup bei MS SenajL@DataAssist.de

Fragen!? Uff... MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 87 Uff...

für Ihre Aufmerksamkeit MSDN TechTalk – Juli 2001 Microsoft Visio als universelle Graphikengine 88 Vielen Dank für Ihre Aufmerksamkeit