Ever need a spiral shape? I just found one buried on my hard-drive — something I whipped up years ago, and modified last year. You can download it here.
The download consists of one Visio drawing file (.vsd). This file contains VBA (Visual Basic for Applications) macro-code that generates the spirals. You’ll need to allow this code to run in order to create spirals.
The macro-security setting is located under Tools > Macros > Security… If your security setting is Very High, then the macros will be disabled automatically. If it’s set to High, then you’ll get a warning that the macros have been disabled. A setting of Medium allows you to allow or disallow the macros when you open the document. This is the setting that I always use.
See: VBA Macro Security for more information on Visio, VBA and code inside of documents.
After you open the file, you’ll see a bunch of funny looking arrow shapes. You can select one of these arrow shapes, and type any kind of valid Visio ShapeSheet expression. Since this is the number of spirals that will be generated, you usually just need to enter a number. But if you’re familiar with Visio’s ShapeSheet, you can enter an expression like: 4 + Sin(35deg) – 8^2. Weird, eh?
Check out: Evaluate Shape Text With EvalText for more information on how evaluation of text works.
Once you’ve entered the expression, exit text-edit mode by clicking a blank area on the page, or by hitting the Esc key. Now right-click the arrow shape and choose the Generate Spirals from the context menu.
Note: that the spiral will be generated at the tip of the arrow, and if there was already a spiral there before, then the new spiral will be drawn over the old one — you might think that nothing happened at all!
Of course, you can check out the code that makes this all happen by opening up the VBA editor. The quickest way to see it is to press Alt + F11. But you can also get there via Tools > Macros > Visual Basic Editor…
Note: the download contains two files, one saved in Visio 2002 format, the other in Visio 2003 format. So users of Visio 2010, 2007, 2003, 2002 and possibly 5 should be able to use this tool!