Automatic Behaviors in Visio

Several people have posted in the newsgroups about Visio moving shapes around unexpectedly - particularly when documents are opened or saved.  This random behavior can be infuriating to users.  Perhaps more frustrating is that Visio may continue moving shapes around after the user has "fixed up" their diagram again.  This post looks at automatic behaviors and tries to shine some light on the issues.


Connector Routing

Perhaps the most common automatic activity in Visio is connector routing.  Visio ensures that connectors stay glued to shapes when those shapes are moved around the page.  Visio also finds the optimum route for connectors that will avoid other shapes along the path.  Finally line jumps are added to connectors that cross over other connectors.  Historically, crazy connector routing has been a frequent complaint, but routing logic has gotten significantly better over time.  Recent versions of Visio do a pretty good job with routing.  While users may object to the routes chosen, there are very few reports of routes randomly changing in the diagram.




If you are encountering routing issues in your diagram, you might find this earlier post helpful.  You can also reduce the number of situations where connector routes are changed.  Go to Format > Behavior and then the Connector tab and adjust the Reroute property.  Reroute = Never means that Visio will maintain glue but never recompute the route to optimize it.


Solution Behaviors

The second type of automatic behaviors involve Visio solutions.  In this case we are referring to the Visio add-ons that provide extra capabilities for individual diagram types.  For example, the Organization Chart solution is responsible for providing features such as dropping subordinates on top of managers, generating a diagram using the Organization Chart Wizard or synchronizing organizations across pages.  You may not think of these capabilities as add-ons because Visio tries to make the functionality seem as integrated as possible with the core diagramming features.

Most frequently we hear about random shape movement with the Organizational Chart and Cross-functional diagram types.  However, users have reported issues with a number of diagrams such as Gantt Charts and Timelines too.  The root cause for random shape movement is that a diagram has solution managing the position of shapes, and something is triggering that solution to make it move shapes around the page.  These solutions get in trouble when they fail to realize that a shape’s current position has been designated by the user and is no longer under the complete control of the solution.

Visio’s solutions that manage the position of shapes on the page can tolerate varying degrees of customization by the user.  Sometimes it is okay for a shape to be in a different location than what the solution wants, and sometimes the solution is not capable of leaving a shape in a different location.  Many problems arise when the user takes additional steps to prevent automatic behavior such as grouping shapes, replacing connectors with regular lines or disconnecting connectors.  This increases the likelihood that the “proper shape arrangement” according to the solution is not at all what the user intends.


Remedies for Automatic Solution Behaviors

There are two basic approaches to correcting a diagram that is “misbehaving”.  You can try to make the solution understand the diagram again.  This typically involves removing non-standard shapes and using the ones provided in the template.  It also means restoring connections between shapes using connectors and not lines.  The other approach is to disable the “intelligent” behavior of the solution and work with the diagram using core Visio capabilities only.  Depending on the drawing type and level of complexity in the diagram you may want the second option, although this is a more drastic measure.

For Organization Charts, the typical cleanup is to delete the connections between shapes and then drop each subordinate on top of their manager again.  For Cross-functional Flowcharts, the typical cleanup is to drag each process shape outside the swimlanes and then drag them back in.  Unfortunately, none of these remedies is guaranteed.  There may be no way for a user to correct some situations.

To disable a solution, you need to disable the Persisted Events that get stored in the document and trigger the solution whenever the document is opened in Visio.  Persisted Events can only be managed programmatically or through Visio’s XML file formats.  The Persisted Events tool in the Visio SDK is a great way to modify Persisted Events.  For those looking for something simpler, try pasting the VBA macros below into your document.  Run DisablePersistedEvents to turn off solution behavior for the document.  Run EnablePersistedEvents to turn solution behavior back on.


Public Sub DisablePersistedEvents()


    Dim vsoEvent As Visio.Event


    For Each vsoEvent In ThisDocument.EventList


        If vsoEvent.Persistent = True Then

            vsoEvent.Enabled = False

        End If




End Sub


Public Sub EnablePersistedEvents()


    Dim vsoEvent As Visio.Event


    For Each vsoEvent In ThisDocument.EventList


        If vsoEvent.Persistent = True Then

            vsoEvent.Enabled = True

        End If




End Sub



Visio provides automatic behaviors to make diagrams much easier to create and manage.  When the automatic behavior matches your expectations, Visio feels like a very powerful tool.  When Visio seems to have a mind of its own, it becomes a frustrating application to work with.  The Visio Product Team is definitely interested in your experiences good or bad with the automatic behaviors in the application.  Your feedback helps us understand where we need to improve.


Comments (36)

  1. Yngve Nystrand says:

    I strongly prefer to decide these things myself. I have been using Visio since it’s very first version, and I know Vision very well. It is just frustrating when Vision suddenly decides to "destroy" my layout. Good thing, though, that this can be turned off. Default should be "No automatic behaviors".

  2. I agree, Visio deciding to make its own layout decisions makes user experience frustrating to say the least!

  3. Giancarlo says:

    I had an issue with shapes jumping around when resizing swimlanes in UML activity diagrams and just wanted to post that in Viso 2007 what worked for me was if you go under Format>Behavior>Placement, I changed the Placement Behavior to "Lay out and route around".

  4. Giancarlo says:

    Correction I meant to say "Don't layout and route around."

  5. Balle Bøllefrø says:

    … Microsoft has always thought they know better than you what you need. But that is a common behavior of all world dominance dreamers.

    I know best whats best for me, pronto. Microsoft knows nothing. Just give me the options. The methode for turning of rerouting above only works for selected line, not all the others. Are there any global settings???

  6. Bob Marcel says:

    How do I easilly shut off the automatic behaviors? It is impossible to make a three sided anything without Visio thinking I want a square. I do not want a square. This is a time waisting format for my use.

  7. Patty Harrington says:

    I have NEVER been so frustrated while using a MicroSoft product in my entire life!!!!  I have recreated these swimlanes 5 times, being extremely careful of anchoring my arrows, placing my shapes in the correct position to begin with so I didn't have to move anything and NO MATTER WHAT I DO – Those lines and shapes just rearrange themselves usually right as I'm just about finished.  I don't think I'll EVERY be able to deliver these swimlanes!!!!PLEASE FIX THIS ASAP!!!!!!!!!!!

  8. Chris Watson says:

    The routing controls – and the inability to turn off automated placement – is about as helpful as testicle cancer; I'm not a programmer and having been using Visio for almost 20 years, so this is *INFURIATING*!!

    Please, give us a patch to turn this off!!

  9. Remek says:

    I couldn't agree more with the general spirit of the previously left comments. After so many years of experience in UX, the product choices should be clear as a spring water. Let the users turn the placement behaviour function permanently off.

  10. Nicolas says:

    Automatic things are useless if they cannot be turned off! Connectors rerouting is aweful! Please make it simple!

    Thank you

  11. Ian Norris says:

    Glabal settings for setting routing and placment options are needed.   This is driving me nuts.   Why does Microsoft have to dumb down everything and make it virtually unusable?

  12. Remek says:

    I am writing this partially for my convenience (so i can find it later when i forget) and partially for other people infuriated by Visio auto-align problem.

    Someone else posted this so I am just repeating: find the 'Page Setup' (can vary in location, but on my Visio 2010 it on the Design ribbon). Click to expand the Page Setup (that small thingy in the bottom right corner). The 'Page Setup' dialog should appear. Go to the 'Layout and Routing' tab, uncheck the 'Move shapes away on drop'.

  13. Unhappy Customer says:

    I have avoided Visio like the plague since January 2012, but today I decided I would give it another chance.  I spent 8 hours developing a great lookand and very informative cross functional flow chart that I was going to use to code a major new module with tonight.  Once I had it basically done, I noticed a small typo and fixed it and saved the document.  When I re-Opened the document a few minutes later – yes!  Once again I've been SCREWED by Microsoft!  Dang it!  This drawing looks as if it has gone through a blender.  Can you at least have the software ASK ME BEFORE IT SCREWS UP EIGHT HOURS OF WORK ?!?!?!?!?!?!?!?!?!?!?  

    As some have said make wrecking the data be OFF BY DEFAULT!!!!!!!!!

  14. Maxime Gauthier says:

    cross-functional diagram is a pain to move on a page … it screws up the layout everytime it is moved.

  15. Frustrated says:

    Using Visio 2010. Its like wrestling with a bunch of Microsoft developer nerds who think they know best how to make my diagram. AND, do you idiots realise how ridiculous it is having hundreds of buttons and drop down lists spread all over the place so it is impossible to find anything. I hate you all.

  16. Dierk Hartmann says:

    I downloaded the Visio 2010 trial version. The fact that it is not only difficult, but appears impossible to resize swimlanes in accordance to user – or your customer's requirements – and that none of the blogs on the net really help the matter, demonstrates to me that this is again a product full or bugs, where simple things cost me hours of time and delay – similar to the formatting functions in MS Word.

    Of course, again as usual – the MS help function is useless.

    I like the basic functions of Visio, but don't think I'll buy it, because I consider the custom sizing of swimlanes a bsic feature that should be completely intuitive. Considering this snag right at the beginning of my Visio experience the product is vastly overprized as well.

  17. Jamie says:

    Visio was once a fine product. Visio 2010 is a nightmare. Even making a straight line is next to impossible without having to resort to the Shape Size Window and changing the angle from 0.1 to 0 degrees.

    Rearranging? It does it even when pasting. I often had to save a drawing to PDF, take a snapshot before I can paste a drawing UNMOLESTED to a document or another file.

    I would never use Visio 2010, I just have no choice at the moment.

  18. prakash parasuram says:

    Why not allow default behavior to be set at the drawing or Visio level, for example if I WANT visio text boxes not to "Lay out and Route around" I should not have to check each box and set this property.

  19. joel says:

    when i opening the office outlook an automatic visio 2007 on xp ops how to to stop that?

    m email:

  20. Dave Zahn says:

    There should be an option to NEVER let it change the angles of wall sections when doing a building plan. If I want an odd angle, I can enter it myself.

  21. Nick Seth-Smith says:

    A simple option to tell Visio not to re-calculate the layout of Swim Lanes diagrams when you move them would be great.  There's nothing more annoying than spending hours creating a detailed cross-functional flowchart and then having it blow up when you try to lay it out for print.  This is the point at which Visio gets "too clever".  Dumb it down a bit – pretty please 🙂

  22. Limping User says:

    Please note. Visio gets worse and worse each version with the "help." It's not help, you're killing me and a lot of other people. Just let us draw what we need to do. The screen is too crowded to fit in a diagram… The automation undoes virtually everything I want to do or throws things in when I don't want them. Please stop! Please. I'm crying right now.

    Does anyone designing these features actually use the software? please do.

  23. Tom says:

    I hate avoidance routing.  It's a pain in the ***.  There should be a way to turn if off globally.  Also, pasting with ^C is screwed up.  Who in their right mind made it go back to where the copy was made to paste.  Just plain stupid!

  24. Chris says:

    Automatic routing and snaping is very frustating, Move one item and all others are affected asa well :-(((

  25. Troy Astroboy says:

    Regretfully neither the macros nor the "Don't layout and route around." worked. Its so frustrating, all I want to do is bring a new functional band next to the other previous one, everything scrambles upon the existence of this new functional band. Why cant this just be easier and common sensely?

  26. Ed says:

    This is clearly a joke, was Visio 2013 released on 1 April

  27. Kathy Marshall says:

    I am importing an org chart from Excel with Visio Org Chart wizard.  Every time I import it, the chart comes out differently.  The results seem random and I would like the results to be reliable and controlled by the order of items in the spreadsheet.

  28. frustrated visio user says:

    It is frustrating how visio works. it keeps minimize my chart makes it useless. I can see how visio team managed to make it worse by each version.

  29. frustrated user says:

    idiotic that this crap has to be turned off on each sheet.  do you make decision to do this stupidity by flipping a coin?

  30. Mohit says:

    It has become painfully difficult and frustrating to work with Visio 2013. The user should have the choice to turn on automatic behaviour if they wish to, not be trying to turn it off from multiple areas within the software. Default setting should be off for all auto behaviours.

  31. Jan A. says:

    Totally frustrated.. company wants this MS Visio crap app to be default drawing app, but its simply NOT productive, snapping to grids, auto arranging connectors on default shapes with absolutely not enough spots to connect to.

    This tool should not dictate how the final drawing ends up, but it does, because once you've waisted half a day drawing a simple infrastructure diagram, you loose the constant battle against time in any project, if you dont accept a lesser good drawing.

    Tools like this should support business and productivity, but ends up doing the excact oposite. i really REALLY hate it.

  32. Mike says:

    To offer automatic behaviors is a good thing, but to turn them on by default is not good. They should leave all auto features disabled by default and let the user setup Visio the way they want it to work. The added benefit is that they learn where the settings reside.

  33. kay says:

    I think Visio should come with a warning label on the package that it can damage your mental health

  34. Kay says:

    These kinds of comments wouldn't be happening with a decent product. Your 'Conclusion' is clearly wrong – it is not easier it is harder for many users. Which means you don't understand how people are using your product. Shows you need to do some robust testing with a representative range of users – this clearly hasn't been done. And we all know Microsoft is more than able to afford this.

  35. kay says:

    In the meantime, can you please list, in one easy to find place, the instructions for how to turn off ALL the auto-moving default features. That will save probably millions of people having to wasteful weeks of research trying to locate instructions for each little secret default feature.  

    I have located turn-off instructions for several features but I am still subject to bizarre auto-features screwing up my diagram and wasting my time. Because your auto-features are, in effect, secret you are expecting each and everyone of us to work out from scratch what these unwanted auto-features are caused by and guess at what they might be called. This is so stupid. MS would go bust if you didn't have a monopoly.

  36. Bryce B says:

    “The other approach is to disable the “intelligent” behavior of the solution and work with the diagram using core Visio capabilities only.”

    I have gone through the phases of ludicrous hatred described by other entries here and I have also spent hours looking for the Visio.ini file or some user-preference setting which I could apply once in my environment.

    write a Blog entry on how to enable “Core Visio Capabilities” in a sticky User-preferences fashion so we do not have to wrestle with this tool.

    We want User preferences to quickly turn off all forms of auto-connect and auto-correct or auto-assume or auto-mind read what you think the user wants by default. This would be done on a User preference level, not Document preferences. Always default to the User preferences for a new document.

    We want manual, not automatic. We do not want a self driving car. At least some of us don’t. This is a sketch pad, and we are detailed artists, so please let us do our thing!

    I will keep looking. I think there is a way to make a VB script or Python script to launch the Visio app. I see there are some “Visio Startup Switches” on startup. We strongly want something like /corevisio switch.

    The larger point that has been lost is that of User preference. It doesn’t matter if you do smart things if they aren’t tailored to the terse / verbose basic expert level of the user. And trying to generalize that is tricky too, so just let us pick exactly what we want and don’t forget it the next time we open a document or people will just get angry at your program and that is a horrible user experience. And ultimately the experience you offer to each individual user is the only thing you have to offer!

Skip to main content