Verbinder speichern

Verbinder in Visio sind auch nur Shapes. Man kann sie in Schablonen abspeichern. Manchmal ist das nötig, wenn sie bestimmte Formatierungseigenschaften besitzen sollen. Oder Text – wie hier der Haken und das „x“, das aus der Schriftart WingDings als Symbol geholt wurde und eingefärbt wurde. Und „ja“ beziehungsweise „nein“ symbolisiert.

Eigene Symbolbilder für Master-Shapes

Natürlich kann man ein Shape in Visio in einer Schablone als Master-Shape speichern.

Man kann das Symbolbild des Master-Shapes ändern. Jedoch nur dann, wenn die Option „Livevorschau in Shapefenster anzeigen“ deaktiviert ist!

Animationen in Visio?!?

Hallo Herr Martin,
ich hoffe, es geht Ihnen gut. Ich möchte mal wieder meine Visio Workflows verbessern. Würde mich mit einer besonderen Aufgabe in den nächsten Tagen bei Ihnen melden. Vorab eine Frage zu den Präsentationsmöglichkeiten mit Visio:
 
Angehängte Datei will ich wie eine Power Point Präsentation in einzelnen Stufen aufbauen lassen. Dafür habe ich alles Layern zugeordnet, die ich während der Präsentation nach und nach einblende. Ich lasse also immer das „Layer Properties“ Fenster auf und schalte nach und nach die Layer auf „Visible“ und bestätige mit „Apply“.
Ich würde das Ganze gerne im Vollbildmodus präsentieren, um so viel Bildschirmfläche wie möglich zu nutzen. Im Vollbildmodus kann ich aber nicht mehr das „Layer Properties“ Fenster öffnen. Haben Sie eine Idee, wie ich das lösen könnte? Makros bauen?
 
Ein Export zu Power Point ist mit meiner Visio 2010 Version nicht möglich, sondern nur mit Visio PLAN, wie ich gelesen habe?
 
Viele Grüße,
Hallo Herr W.,
 
lustige Frage! Die einzige Möglichkeit, um aus dem Präsentationsmodus ein Makro zu starten, ist eine Schaltfläche. Ich rufe nun das Makro „LayerAnzeigen“ auf, das einen Layer nach dem anderen anzeigt. Die Reihenfolge könnte man sicherlich noch ändern. Ebenso könnte man das zeitgesteuert aufrufen.
HIER unterbreche ich mit dem Meldungsfenster.
 
schöne Grüße
 
Rene Martin
PS: Der Code:
Dim i As Integer
For i = 1 To ActivePage.Layers.Count
ActivePage.Layers(i).CellsC(4).FormulaU = „=0“
Next
MsgBox „STOPP“
For i = 1 To ActivePage.Layers.Count
ActivePage.Layers(i).CellsC(4).FormulaU = „=1“
MsgBox „STOPP“
Next
Oder: Sie rufen den Layerdialog über eine Schaltfläche mit dem Befehl
Application.DoCmd 1448
auf

Bodenplatten – Kante an Kante

Hallo Herr Martin,
ich suche im Web ein VISIO Forum werde jedoch nicht fündig.
 
Vielleicht haben sie einen Tip für mich.
 
Wir müssen Bodenplatten belegen, die eine bestimmte Breite und Länge nicht überschreiten dürfen. MaxBreite 60 max 120 Höhe
Machbar mit der BOUND funktion.
 
Jetzt wollen wir die Platten jedoch andocken ohne einen Zwischenabstand. Also Kein Verbinderlinien dazwischen sondern direkt Verbinderstelle auf Verbinderstelle.
Nach dem Motto – Ähnlich wie ein Mosaik. Ich hoffe die Info reicht ihnen.
 
Ich würde mich freuen eine Info zu bekommen.
 
Grüße
####
Hallo Herr M.,
 
Sie bringen Visio an die Grenzen.
 
Lösung 1: Gibt es feste Maße für Ihre Platten? Also beispielsweise 10 x 10; 10 x 20; 10 x 30? Wenn ja, dann könnten Sie ein festes Raster einstellen.
 
Lösung 2: Wenn Sie die Registerkarte „Entwicklertools“ eingeschaltet haben, können Sie Verbindungspunkte setzen und diese nach „außen und innen“ kleben lassen:
Werfen Sie mal einen Blick auf die Vorlage „HKL-Plan“ und ziehen ein paar HKL-Rohre auf das Zeichenblatt. Sie kleben aneinander.
Theoretisch. Praktisch habe ich festgestellt, dass bei bestimmten Winkeln und Konstellationen die Rohre nicht kleben …
Lösung 3: Ich habe im Rahmen eines großen Programmierprojekts einen Assistenten gebastelt, der Shapes Kante an Kante aneinander setzt.
 
Hilft Ihnen das?
 
schöne Grüße
 
Rene Martin

Raumpläne und große Beschriftungen

Hallo Herr Martin,
 
ich arbeite mit Ihrem Buch und mit Visio 2016. Eine Sache bin ich leider noch nicht draufgekommen, auch in Ihrem Buch finde ich keine Information. Wie bekomme ich die großen Beschriftungen bei der Raumzeichnung oder Wänden oder auch Schiebetür weg?
Wäre sehr dankbar für eine Antwort, die Riesenbeschriftungen sind wirklich nervig.
 
Mit freundlichen Grüßen
####
Hallo Frau M.,
 
eigentlich werden die Beschriftungen nur angezeigt, wenn die Shapes markiert sind. Auf Ihrer Zeichnung ist zu erkennen, dass Sie alle Shapes markiert haben. Deshalb die großen Texte. Ich gebe Ihnen recht: ja – schön sind die nicht; aber gestört haben sie mich noch nicht. Sobald ich die Markierung aufhebe, verschwinden sie ja.
Ich habe gestern auch nachgeschaut: Kennen Sie das ShapeSheet, das unter den Shapes liegt? Dort kann man sehen, dass die Wände Gruppen sind, In einem Mitgliedselement liegt der Text, der angezeigt und ausgeblendet (Visible = True/False) wird – je nachdem, ob das Shape markiert ist. Wollte man es wirklich deaktivieren, müsste man diese Shapes manipulieren und in einer eigenen Schablone speichern.

Ein eigener Nummerierungsassistent

Der Nummerierungsassistent ist fertig. Ich habe den Assistenten, der einige Bugs aufweist, nachgebaut. Man kann die Startnummer festlegen und die Schriftgröße ändern. Hierzu trägt man eine Zahl in den Dialog ein – alle Nummer werden nun größer oder kleiner. Die Technik:
der Dialog schreibt die Nummer in eine Zelle des ShapeSheets des Zeichenblattes:
ActivePage.PageSheet.Cells(„User.garSchriftgroesse“).FormulaU = „=“ & Me.txtSchrift.Value
Jede Nummer „holt“ sich diese Schriftgröße:
vsShapeNummernBobbel.Cells(„Char.Size“).FormulaU = „=GUARD(ThePage!User.garSchriftgroesse&““pt.““)“

Fläche berechnen

Hallo Herr M.,

[…] Jedes Shape in Visio hat eine x- und y-Position, die Width und Height kann ebenfalls über das ShapeSheet ausgelesen werden.

Um die Fläche zu berechnen, können Sie die Eigenschaft AreaIU der Shapes verwenden (Achtung: muss mit 2.54 ^ 2 multipliziert werden, da das Ergebnis Quadratinch ist).

MsgBox ActivePage.Shapes(1).AreaIU * 2.54 ^ 2

Damit können Sie leicht die Flächen berechnen.

schöne Grüße

Rene Martin

Unterschiedliche Schriftgrößen in einer Gruppe

Hallo Herr Martin,
Auffällig ist, dass die Schriftgröße irgendwie abgeleitet wird vom Shape Text. Dies sieht dann komisch aus, wenn man die Shape-Texte unterschiedlich groß wählt (z.B. um mehr Text bei einzelnen Shapes unterzubringen) und dann nummeriert. Da sind dann die Nummerierungen unterschiedlich groß. Kann man nicht eine separate Schriftgröße für alle Nummern vorgeben, unabhängig von den Shape-Texten? Vielleicht konfigurierbar im Nummerierungsassistent?
Eine hübsche Fingerübung: Wird die Schriftgröße in einer Gruppe verkleinert, verkleinert sich die Schriftgröße in allen Mitglied-Shapes.
Die Lösung ist einfach: im ShapeSheet des Shapes, in dem sich die Nummer befindet, ändere ich in der Zelle
Char.Size
die Größe von
= 10 pt
auf
=Guard(10 pt)

PDF A2 statt A4

Hallo Herr Martin,

ich möchte für eine Zeichnung das Druckerpapier auf DIN A2 setzen. Dies macht Visio aber nicht, da mein angeschlossener Drucker nur bis A3 drucken kann.

Die erstellte Zeichnung soll aber als pdf weitergeleitet und dann woanders in A2 gedruckt werden. Und ich möchte gern, dass das pdf in A2 vorliegt.

Gibt es eine Möglichkeit, dies bei Seite einrichten oder woanders voreinzustellen?

Beste Grüße,

BW.
####
Hallo Frau W.,

vielleicht ist die Antwort zu einfach (oder das Problem doch schwieriger): installieren Sie doch eine Druckerdatei eines Plotters. Stellen Sie diesen ein und speichern Sie dann die Datei als PDF.

Das wäre zu einfach, oder?

Rene Martin
####
Herr Martin,

Sie haben mir den Tag gerettet!
Es war wirklich so einfach.

Besten Dank!!

Freundliche Grüße,

Eigene Shapes mit VBA erzeugen

Ich überarbeite gerade mein Visio-Programmierbuch. Ich bin beim Kapitel per Programmierung neue Shapes erzeugen, beispielsweise Rechtecke oder Kreise:
Soll auf dem Zeichenblatt ein Rechteck gezeichnet werden, ist dafür der Befehl DrawRectangle zuständig. Dabei sind vier Parameter anzugeben, die die Koordinaten von zwei gegenüberliegenden Eckpunkten bestimmen. Dabei wird von den Koordi-naten des Zeichenblatts ausgegangen (so sitzt der Ursprung in (0/0)). Die Werte selbst müssen in Zoll (Inch) angegeben werden. Das folgende Beispiel zeichnet ein Rechteck mit den Eckkoordinaten (1/1) und (3/2):
Sub Rechteck_Zeichnen()
ActivePage.DrawRectangle 1, 1, 3, 2
End Sub
Zum gleichen Ergebnis wäre man auch folgendermaßen gekommen:
ActivePage.DrawRectangle 1, 2, 3, 1
oder auch so:
ActivePage.DrawRectangle 3, 1, 1, 2
Wichtig sind dabei lediglich die beiden gegenüberliegenden Eckpunkte.
Analog wird eine Ellipse gezeichnet:
Sub Ellipse_Zeichnen01()
ActivePage.DrawOval 1, 1, 3, 2
End Sub
Wird mit dem neu gezeichneten Objekt weitergearbeitet, muss es an eine Objektva-riable übergeben werden:
Sub Ellipse_Zeichnen02()
Dim vsShape As Shape
Set vsShape = ActivePage.DrawOval(1, 1, 3, 2)
vsShape.Text = „Frohe Ostern“
End Sub
Dafür werde ich ein schönes Beispiel bringen. In einigen Programen, die ich an Kunden ausgeliefert habe, überprüfe ich die Voraussetzungen der Zeichnungen. Sollte etwas nicht stimmen, lege ich einen roten Punkt auf das nicht korrekte Shape.