Add shapes and change their color at the same time through VBA


    Sponsored Links


  • 1. Shape double clicked event without the CALLTHIS
    Hi everyone, Can I catch a shape double click event from the ActiveDocument event list. For example, I can do this when a shape is added to a document. I can catch event like: Private Sub Document_ShapeAdded(ByVal Shape As IVShape) ' Do something End Sub Is there something similar for when a shape is double clicked? Cheers! xargon
  • 2. How to change a database link?
    I've crated a visio drawing by first generating master shapes from an Excel "database". Using the Database wizard I got all shapes generated from the Excel document. After that I manually arranged the shapes as I wanted to and made connections. Everything works fine so far, I can change in Visio and the database is updated or make changes in Excel and Visio is updated. Now to the problem. I have several very similar drawings to maintain so I made a copy of the Visio document, and of the Excel document, and renamed them. My intention was to change the database link in Visio to point to the new Excel document. But all my tries fail:-( The Visio keeps it database link to the original Excel document. I have tried the Database wizard in numerous ways, the "Link to database..." and even changed "Select database record" for every single shape. Can anyone help me? Best Regards /Hugo
  • 3. Disabling stencils from VBA
    Hi everyone, I have created a stencil with my predefined shapes. What I want to do is not allow people to add any other shapes that the ones that are on this stencil. So, I basically want to disable all other stencils and show only my stencil in the stencil pane. Is there a way to do so from VBA? I was thinking of doing it on Document load event. Cheers! xargon P.S: Thanks to everyone who helped me over the last couple of days. I am very new to Visio, VB and VBA and am learning a lot here!
  • 4. document load event
    Hi everyone, Newbie question: Is there a document load kind of event that I can use in VBA for Visio. I basically want to parse the SolutionXML content and initiallize some variables as soon as my visio document loads. It only has to work for my Visio document and not for every document the user opens. Is there a way to implement an event that will be notify my VBA code that the document has been opened. Cheers! xargon
  • 5. Extract the text from a Shape using Code
    I have created a procedure to generate shapes with text from a recordset. I want to reference the text in a shape on the page I execute the code from, to use as a variable when I create the recordset SQ at runtime. What is the correct syntax to reference the shape object and the text it contains? Thanks -- Mike

Add shapes and change their color at the same time through VBA

Postby consulttech2004 » Sat, 19 Jan 2008 05:24:09 GMT

I want to use the ShapeAdded event so that when I add a shape from an
electrical stencil, the shape turns red (or green, or blue, or
whatever) so that it stands out from the rest of my drawing.  Any
ideas on how to do this consistantly through VBA?  Thanks in advance.

(VISIO Newbie)

Re: Add shapes and change their color at the same time through VBA

Postby John Goldsmith » Sat, 19 Jan 2008 06:31:01 GMT

Hello David,

For events, checkout this link:

 http://www.**--****.com/ (office.10).aspx (DVS - 
Handling Visio Events)

For the change of fill colour, you can use the macro recorder (Tools / Macro 
/ Record new macro...) to record the code as you make the changes manually 
in the UI, which you can then integrate into you final solution.

Are you sure, by the way, that you can't achieve what you're after just 
using the ShapeSheet?  On what basis do you want the colour to change?

Best regards


John Goldsmith

Similar Threads:

1.Changing color of shape with VBA code...

I would like to change the color of a shape with VBA code.  How can this be 
done?  code examples?

In the long run i would like to be able to do this using data from a 
database, controlled by the VBA code.  Thanks!

2.Change color of shape

I'm aware about reports that the Visio 2003 .NET/C# SDK will be
released somewhere Q1-2004. However I'm hoping that somebody can give
me a hint beforehand how to achieve to change the color of a shape

I got it working to find the selected Visio shape. And I can change
the text, however I don't have the slightest idea how to change the
color of the shape.

Maybe through SetFormula() but I don't understand what the arguments

//this works:
this.selectedShape.Text = visio_term + " exists";

//but what is SRCStream and formulaArray?
this.selectedShape.SetFormulas(ref SRCStream, ref formulaArray, 0);

The documentation does not reveal more then

public abstract new System.Int16 SetFormulas ( System.Array
SRCStream , System.Array formulaArray , System.Int16 Flags )
Member of Microsoft.Office.Interop.Visio.IVShape

Any one has a clue?


3.Change fill color of shape through code

I have been making my own master shapes.  I note that I can change the
fill color of some master shapes through code using the following

Shape.FillStyle = "red"

Or whatever I have defined my style to be.  It works pretty well for
our purposes.  The problem is that some master shapes don't seem to
have a fill color, and some that I have drawn (all of them, in fact)
don't seem to want to change color through VBA no matter what I do.
Is there something I'm missing?  Thanks in advance,


4.Change shape background color on a visio stencil


does somebody know how to change the background color of a shape already 
inserted to a stencil?

The problem is that I have to use a transparent image. When I drop it to the 
stencil, the background is transparent and the image quality is really bad 
(unrecognizable). If the background color of the image is white, the icon has 
a good quality and is recognizable.

Thanks, udo

5.How to Change Color of a Group of Shapes

Hi, Gurus,

I have a Visio program.   I created a group of line shapes.  I want to 
change the colors of all lines when a specific data goes beyond the range, 
say, if value > 1000.  How can I do that by using the group properties with 

Thanks so much in advance.


6. How to change Visio Shape color with vb???

7. Excel VBA - Add Sheet Change Event at Run Time

8. change font color of tasks or color of bars from VBA

Return to VISIO


Who is online

Users browsing this forum: No registered users and 16 guest