Microsoft Visio als universelle Graphikengine Visio als Entwicklungswerkzeug Šenaj Lelić Visio...

Post on 05-Apr-2015

149 views 0 download

Transcript of Microsoft Visio als universelle Graphikengine Visio als Entwicklungswerkzeug Šenaj Lelić Visio...

Microsoft Visio alsuniverselle 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 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

SenajL@DataAssist.de

Arbeiten mit VisioDrag & 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)• Zeichnungsobjekt einer Visio-

Seite mit programmierbarem Verhalten

Stencil (Schablone)• Thematische Sammlung von

Shapes in einer eigenen, verteilbaren Datei (.vss)

Terminologie 2MasterShape (MasterShape)

• 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

VisioEnterprise

Die Visio 2000 Produktfamilie

Visio Standard• Ablaufillustration

Visio Technical• HVAC,

Maschinenbau

Visio Professional• Netzwerke, Software

Visio Enterprise• IT-Doku & Planung

VisioTechnical

VisioProfessional

VisioStandard

VisioNetwork Center

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

VisioProfessional

VisioStandard

Visio StandardGeschäftsdiagramme und Fluss-

diagrammeGrafische Darstellung von

Organisationsstrukturen Grafische Planung von

ProjektenErstellung von Zeichnungen

für PräsentationenWeiterere Geschäftszeichnungen

wie Formulare, Landkarten & Grafiken

Visio TechnicalExaktes CAD-ähnliches Zeichnen

und ArbeitenVerfahrenstechnik-Zeichnungen

und PlandiagrammeGrundrisse, Baupläne im

Bereich Facility ManagementErstellen weiterer anlage-

technischer ZeichnungenElektrische und elektronische

Schemadiagramme für Steuersysteme

Visio ProfessionalLAN-Dokumentation und Entwurf Dokumentation von

VerzeichnisdienstenPlanung von Web-SitesSoftwarekomponenten-

EntwurfDatenflussdiagrammeEntwurf von DatenbankmodellenAnalyse von Geschäftsprozessen

Visio Enterprise (2000 !)

Die gesamte Funktionalitätvon Visio Professional plus:

Auto-Discovery von NetzenUML-SoftwaremodellierungDatenbank-ModellierungSoftware-ReEngineeringVisio Network Equipment

Individuelle Visio-Lösungen

Entwurf anwendungsspez. Shapes

SmartShapes, Datenfelder, etc.

ShapeSheet-Programmierung, VBA-Makros

Automation, Modellierung

Visuelles Frontend einer Enterprise-Lösung

DB-Zugriff

DB-Assistent

Inkrementelle Lösungen mit Visio

Komponenten einer Lösung

Erst durch dieKombination allerElemente entstehteine kompletteVisio-Lösung

Dim appVisio As ObjectDim UIObj As ObjectSet appVisio =CreateObject("App")Set UIObj =appVisio.BuiltInMenusappVisio.SetCustomMenusUIObj

CODE

TEMPLATES

OK

SHAPES

VISIO-Solution

Visio-Lösungen wachsen

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

VBAVSLEXE

AutomationInterface

Add-ons

MS Office

ODBC/ADO

Eigene

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 Abschnitt

• TheText

• EventDblClick

• EventXFMod

• EventDrop

Ereignisse im ShapeSheet

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 InterfaceEin Datenfeld mit der Farbe erzeugenZwei 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 ShapeSheet-Programmierung

Entwicklungsumgebung 2:Automation in Visio

Das Visio Objektmodell

Klar strukturierterAufbau, schlank

Vordefinierte Objekte für Dokument, Seite und Fenster etc.

Grafisch über Online-Hilfe navigierbar

StatusBarItemsStatusBars

ToolbarItemsToolbarsToolbarSets

MenuItemsMenuItems

AccelItems

Menus

AccelTables

MenuSets

EventList

AddOns

Colors

Fonts

Styles

Shapes

Pages

Documents

W indow s

Glo

bal

Ap

plic

atio

n

VBE

AddOn

Font

Style

Pag

e

Master

Shape

Do

cum

ent

Cell

CharactersColor

Event

VBProject

1

Selection

Toolbar

StatusBarItem

ToolbarItemToolbarSet

StatusBar

MenuItemMenuItemMenuMenuSet

AccelItemAccelTable

UI object

UI object

Win

do

w

ThisDocument

ActivePage

ActiveDocument

ActiveWindow

Page

Document

Masters

Mas

ter

Layers

Layer

Connects

Connect

ShapesShape…

ConnectsConnect

ConnectsConnect

Layers

Layer

Shapes

ShapeShapes

Shape

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

ShapeSheet und VBA-Code sind in Visio miteinander verbunden

Nicht Visio wird gesteuert, sondern dasdarunter 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

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 meidenVBA code ist Bestandteil der ZeichnungCode 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• 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 erzeugenVerweis auf die "Documents"

collection des Application-Objekts erzeugenSet oDocs = Visio.Application.Documents 'oder

Set oDocs = Application.Documents 'oder

Set oDocs = Documents

Ein neues Dokument hinzufügenSet oDoc = Documents.Add("Diagramm.vst")

Set oDoc = Documents.Add("")

Set oDocStencil = Documents.OpenEx( _ "Blocks.vss", visOpenDocked)

Die Schablone bestimmenSet oDocStencil = Documents("Basic Shapes.vss")

Die "Masters" Collection der Schablone holenSet oMasters = oDocStencil.Masters

Verweis auf die abzulegenden ShapesSet oMaster = oMasters.Item("Star 5") 'oder

Set oMaster = oMasters("Star 5")

Sicherstellen, dass auf die Masters der Schablone zugegriffen wird, nicht die der Zeichnung!

Verweise auf Mastershapes

Die Zeichnungsseite holenSet oPage = ActiveDocument.Pages.Item(1)

Set oPage = ActivePage

Das Mastershape ablegenSet 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

Master auf der Seite ablegen

Text zu Shapes hinzufügen

Die Text-Eigenschaft des Shapes setzenoShape.Text = “Das ist ein String"

ASCII linefeed erzeugt ZeilenumbrücheoShape.Text = "Karl Namenlos" & _

Chr$(10) & "Vorstandsschläfer"

Anführungszeichen in Strings verdoppelnshpObj.Text = """Hello?"""

Eine übersichtlichere Möglichkeit:shpObj.Text = Chr$(34) & "Hello" & Chr$(34)

In Visio’s Objektmodell wird eine Formel durch ein Cell-Objekt repräsentiert

So erhalten Sie ein Cell-ObjektSet 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")

Formeln von Shapes lesen

Die Eigenschaft Formula einer Zelle liefert die ShapeSheet-Formel als StringDim sFmla = String

sFmla = oCell.Formula

Die Eigenschaft Result liefert den Wert der Formel als Double in den angeg. EinheitenDim dFmlaResult as Double

dFmlaResult = oCell.Result("in")

dFmlaResult = oCell.Result("mm")

Siehe auch ResultInt, ResultIU, ResultStr

Formel oder Ergebnis?

Eine Formel festlegen

Setzen Sie die Eigenschaft Formula:oCell.Formula = "=GUARD(Width*2)"

Setzen Sie die Eigenschaft ResultoCell.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)

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 eachFor each shp in ActivePage.Shapes

'shape bearbeitenNext shp

Eine Collection bearbeiten

Masters, Pages, Styles, Fonts, ColorsName, Fullname, PathCreator, Description, Keywords, Subject,

TitleReadOnly, Saved, InPlace

Wichtige Eigenschaften

Eine Seite holenSet oPage = oPages.Item("pagename")Set oPage = oPages.Item(index)

Die aktive Seite holenSet oPage = Application.ActivePage

(Das aktive Fenster muss ein Zeichen-fenster sein, sonst erhält man einen Fehler!)

Daten aus Seiten auslesen

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

Daten aus Shapes auslesen

Das aktive Fenster feststellenSet oWindow = Visio.ActiveWindow

Den Typ eines Fenster feststellenIf oWindow.Type <> visDrawing Then Debug.Print "Kein Zeichenfenster"End If

• Type: visDrawing, visSheet, visStencil, visIcon

• SubType: visPageWin, visMasterWin, visPageGroupWin, visMasterGroupWin

Mit Fenstern arbeiten

Nutzen Sie CellsSRC, um über Abschnitt, Zeile und Zelle auf Shapes zuzugreifenSet 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!

Die Methode CellsSRC

Verhalten in ShapeSheet-ZellenShapeSheet EreignisseVBA Code hinter Ereignissen

• Für Visio-Objekte

• Für ActiveX Controls

Visio-Ereignisbehandlung

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.

Zell-Abhängigkeiten

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

AfterModal BeforeSelectionDelete DocumentCreated SelectionChangedAppActivated BeforeShapeDelete DocumentOpened ShapeAddedAppDeactivated BeforeStyleDelete DocumentSaved ShapeChangedAppObjectActivated BeforeWindowClose DocumentSavedAs ShapeDeletedAppObjectDeactivated BeforeWindowPageTurn FormulaChanged StyleAddedBeforeDocumentClose BeforeWindowSelDelete MarkerEvent StyleChangedBeforeDocumentSave CellChanged MasterAdded TextChangedBeforeDocumentSaveAs ConnectionsAdded MasterChanged WindowActivatedBeforeMasterDelete ConnectionsDeleted PageAdded WindowOpenedBeforeModal DesignModeEntered PageChanged WindowTurnedToPageBeforePageDelete DocumentAdded RunModeEnteredBeforeQuit DocumentChanged SelectionAdded

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

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)

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

Hinweise

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

Shapes verbinden

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)

Die Ausgangszelle

An andere Shapes ankleben

GlueTo klebt an spezifische Stelle eines ShapesoFromCell.GlueTo _

oToShape.Cells("Connections.X1")

GlueToPos klebt an eine X,Y Position, die einen Anteil des Ausrichtungs-feldes des Shapes darstelltoFromCell.GlueToPos oToShape, 0.5, 0.5

GlueToPos erzeugt immer einen Verbindungspunkt, selbst wenn bereits einer vorhanden ist.

Daten zu Shapes hinzufügen

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

Die Connects Eigenschaft eines Shapes liefert dessen Verbindungen

Enthält für jedes Shape, an das angeklebt wurde, ein Connect-Objekt

FromSheet, ToSheet EigenschaftenFromPart, ToPart EigenschaftenFromCell, ToCell Eigenschaften

Infos über Connections

A verbunden nach B

(2-D nach 2-D über Steuerelement)

A hat einen connects.Count = 1 FromSheet = A, ToSheet = BFromPart = visControlPoint + 0ToPart = visConnectionPoint + 0FromCell, ToCell = Cell-Objekte für FromPart, ToPart

A B

Steuerelement zu Shape

Window-Eigenschaften

Zoom Liest oder setzt die Zoomeinstellung

(Fliesskommawert 1.00 = 100%)

Page, PageFromName, PageAsObj Liest oder setzt die angezeigte Seite

Window-Methoden

GetViewRect 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-AnwendungActiveWindow.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 2000Sie können jetzt auf Ereignisse testen und

diese bei Bedarf auch abbrechen

QueryCancelSelectionDelete

SelectionDeleteCanceled BeforeSelectionDelete

Shape wird gelöschtShape wird nicht gelöscht

Was kann angepasst werden?

• Menüeinträge

• Shortcuts

• Symbolleisten

• Statuszeilen

Größe der Änderung sollte beachtet werden, je nach Aufwand zwei Lösungswege

Das Visio-UI anpassen

MenuItems

MenuItem…

MenuItems

MenuItem

Menus

Menu

MenuSets

MenuSet

AccelItems

AccelItem

ToolBars

ToolBar

StatusBarItems

StatusBarItem

ToolBarItems

ToolBarItem

AccelTables

AccelTable

ToolBarSets

ToolBarSet

StatusBars

StatusBar

UIobject

Application

AddOns

Documents

Windows

UI-Objekte im Objektmodell

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

Mögliche UI-Änderungen

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}

Unique Ids für Shapes

Lesen einer UniqueID:IDStr = shpObj.UniqueID(visGetGUID)

Lesen und Erzeugen einer UniqueIDIDStr = _ shpObj.UniqueID(visGetOrMakeGUID)

Löschen einer UniqueIDshpObj.UniqueID(visDeleteGUID)

Arbeiten mit GUIDs

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)

Visio und XML (2002)

Visio lässt sich in Gesamtlösungen einbetten

Aber: Visio muss auf dem System separat installiert sein

Visio-ActiveX-Control in Vorbereitung

Embedded Visio

Planung einer Visio-Lösung

Erst Shapes ... – dann Code!Vorlagen für die Lösung erleichtern den

Benutzern die ArbeitProgramm muss folgende Aufgaben

erfüllen:

• User Interface und Schutz

• Dateioperationen, Datenablage

• Behandlung der einzelnen Shapes

Verteilung & Wartung

Deployment

• 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

Automations-Programmierung mit Visio

Konkrete Anwendung inVisio selbst – mitgelieferte Lösungen

Gemeinsame Engine und DateiformatGemeinsame Engine und Dateiformat

StandardStandard EnterpriseEnterpriseTechnicalTechnical ProfessionalProfessional

Datenbankmodellierung mit Visio

Demo

Datenbankmodellierung mit VisioDatenbankmodellierung mit Visio

Gemeinsame Engine und DateiformatGemeinsame Engine und Dateiformat

StandardStandard EnterpriseEnterpriseTechnicalTechnical ProfessionalProfessional

Softwaremodellierung mit Visio

Demo

Softwaremodellierung mit VisioSoftwaremodellierung mit Visio

Wo gibt's Informationen

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

Im Ordner DVS • Libraries enthalten Informationen für C, VB

• C-cpp

• VB

• Sample Applications

• VB Solutions

• VBA SolutionsDeveloping Visio Solutions Buch

Wo gibt's Informationen (2)

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 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...Uff...

Vielen Dank für Ihre Aufmerksamkeit