<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Visio</title><link>http://msmvps.com/blogs/visio/default.aspx</link><description>The Blog</description><dc:language>en</dc:language><generator>CommunityServer 2008 SP1 (Build: 30619.63)</generator><item><title>Will that be Metric or Imperial?</title><link>http://msmvps.com/blogs/visio/archive/2007/09/21/will-that-be-metric-or-imperial.aspx</link><pubDate>Fri, 21 Sep 2007 20:23:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1208925</guid><dc:creator>visio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/visio/rsscomments.aspx?PostID=1208925</wfw:commentRss><comments>http://msmvps.com/blogs/visio/archive/2007/09/21/will-that-be-metric-or-imperial.aspx#comments</comments><description>&lt;p&gt;For a long time Visio has supported stencils and templates in two different measurement system; Imperial (US) and Metric. Each template had a US version and a Metric version. So why two templates? The US templates were in in, ft, yds and the other imperial units and the Metric templates were in mm, cm, m and the other metric units. There was also an isue of the physical page size; Some of the standard sizes for the&amp;nbsp;US are letter, legal and tabloild while the metric sizes were the A format sizes like A3 and A4.&lt;/p&gt;
&lt;p&gt;So is it possible to have a single template that will handle both Imperial and Metric units and paper sizes? Yes, with a few minor changes, you can combine both units.&lt;/p&gt;
&lt;p&gt;One method to do this is to add a user defined cell to the document and use that variable to determine the system to use. To add a document level user defined cell, right click the top entry in the Drawing Explorer and select Show ShapeSheet or right click the drawing surface outside the drawing and hold the shift key while selecting Show ShapeSheet. If you do not hold down the shift key, you will get the shapesheet for the page. Add a rowl to the User Defined Cells section and name it something like UseMetric. Use a value of 0 for Metric units&amp;nbsp;and non zero for Imperial units.&lt;/p&gt;
&lt;p&gt;On each page set the PageHeight, PageWidth, PageScale and DrawingScale with a formula like.&lt;/p&gt;
&lt;p&gt;For Page Width set the content to:&amp;nbsp;&amp;nbsp;&amp;nbsp; = IF(TheDoc!User.UseMetric=0,210mm,8.5in)&lt;/p&gt;
&lt;p&gt;As you change the value of UseMetric, the PageWidth (and other qualities) will reflect the selected units.&lt;/p&gt;
&lt;p&gt;This will give you a document that will switch between a letter size drawing in inches and an A4 drawing in mm.&lt;/p&gt;
&lt;p&gt;The next step would be to add unit agnostic formulas to your shapes.&lt;/p&gt;
&lt;p&gt;If you already have background pages created in Imperial units and metric units, rather than trying to merge the two with formulas based on TheDoc!User.UseMetric, combine the two background pages by applying each page to a layer and use TheDoc!User.UseMetric to control the visibilty of each layer.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1208925" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/visio/archive/tags/Visio+Metric+US+template/default.aspx">Visio Metric US template</category></item><item><title>Whose your father?</title><link>http://msmvps.com/blogs/visio/archive/2007/06/03/whose-your-father.aspx</link><pubDate>Sun, 03 Jun 2007 21:03:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:941033</guid><dc:creator>visio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/visio/rsscomments.aspx?PostID=941033</wfw:commentRss><comments>http://msmvps.com/blogs/visio/archive/2007/06/03/whose-your-father.aspx#comments</comments><description>&lt;p&gt;Visio does provide an option for printing shapesheets but it is wordy. In the past I have used Excel to sort and manipulate the information, but this is time consuming and really does not give me everything I want.&amp;nbsp;One thing that was not easy to do was to find out whether a shapesheet was part of a group and if so, which group it belonged to. Being Visio, this is not a big problem. The object model is exposed and it is possible to write your own version of the shapesheet print Add-in with a routine to show the lineage of a shapesheet.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Given a Visio shape, this function will return a string that lists its&amp;#39; ancestors.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Private Function Heritage(shpObj As Visio.Shape) As String&lt;/p&gt;
&lt;p&gt;Dim Finished&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Boolean&lt;br /&gt;Dim tmpName&amp;nbsp;&amp;nbsp; As String&lt;br /&gt;Dim tmpString&amp;nbsp;&amp;nbsp; As String&lt;/p&gt;
&lt;p&gt;tmpName = shpObj.Name&lt;br /&gt;tmpString = tmpName&lt;/p&gt;
&lt;p&gt;Finished = False&lt;br /&gt;Do While Not Finished&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If ActivePage.Shapes(tmpName).Parent.Type = visTypeGroup Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmpName = ActivePage.Shapes(tmpName).Parent.Name&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmpString = tmpName + &amp;quot; &amp;quot; + tmpString&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Finished = True&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Loop&lt;/p&gt;
&lt;p&gt;Heritage = tmpString&lt;/p&gt;
&lt;p&gt;End Function&lt;/p&gt;
&lt;p&gt;This sample code will eventually make it&amp;#39;s way over to &lt;a href="http://visio.mvps.org/VBA.htm"&gt;http://visio.mvps.org/VBA.htm&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=941033" width="1" height="1"&gt;</description></item><item><title>Percentage Ruler</title><link>http://msmvps.com/blogs/visio/archive/2006/11/09/Percentage-Ruler.aspx</link><pubDate>Thu, 09 Nov 2006 16:42:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:270141</guid><dc:creator>visio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/visio/rsscomments.aspx?PostID=270141</wfw:commentRss><comments>http://msmvps.com/blogs/visio/archive/2006/11/09/Percentage-Ruler.aspx#comments</comments><description>&lt;p&gt;When I try to create Visio shapes from a sample image, I import the image into Visio and stretch it so it matches the scale of the drawing. I can then use the dimension shapes to &amp;quot;measure&amp;quot; the image.&lt;/p&gt;&lt;p&gt;Recently I came across a collection of shapes that had similar profiles, but the proportions varied. I needed a new kind of measuring tool, one that would display percentages. With Visio, this is relatively easy.&lt;/p&gt;&lt;p&gt;The shape is a simple line with a control handle with a user defined&amp;nbsp;field&amp;nbsp;set to &amp;quot;=GUARD(Controls.Point/Width)&amp;quot;. The text field for the line contains the user defined field.&amp;nbsp;The line is strectched across the distance that needs to be proportioned and the control handle is moved to various positions. The text of the line will show the percentage of the distance that the control handle is at. &lt;/p&gt;&lt;p&gt;I had considered constraining the control handle to the line, but the freedom of movement makes it very easy to &amp;quot;measure&amp;quot; irregular shapes.&lt;/p&gt;&lt;p&gt;John... Visio MVP&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=270141" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/visio/archive/tags/Visio+ruler/default.aspx">Visio ruler</category></item><item><title>Enhancing the Orgchart with different reporting lines</title><link>http://msmvps.com/blogs/visio/archive/2006/10/20/Enhancing-the-Orgchart-with-different-reporting-lines.aspx</link><pubDate>Fri, 20 Oct 2006 02:21:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:190401</guid><dc:creator>visio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/visio/rsscomments.aspx?PostID=190401</wfw:commentRss><comments>http://msmvps.com/blogs/visio/archive/2006/10/20/Enhancing-the-Orgchart-with-different-reporting-lines.aspx#comments</comments><description>&lt;p&gt;Over the summer I was asked if it was possible to have some of the reporting lines a different pattern. An interesting idea, but how do you mantain the feature when the Orgchart is imported and&amp;nbsp;exported? &lt;/p&gt;&lt;p&gt;For this feature to work the information had to be stored with the person at the bottom of the reporting relationship. The Custom Properties (Soon to be Shape Data) of each person was preserved over imports and exports and was the ideal location. So once the data was imported into Visio VBA code was run to check each 2d shape for a &amp;quot;Reporting Type&amp;quot; Custom Property and change the line pattern of their reporting line to match.&lt;/p&gt;&lt;p&gt;Sub ChangeReportingLines()&lt;/p&gt;&lt;p&gt;&amp;#39; Display connections on the page&lt;/p&gt;&lt;p&gt;Dim conObj&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Visio.Connect&lt;br /&gt;Dim i&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Integer&lt;br /&gt;Dim ReportingType&amp;nbsp; As String&lt;br /&gt;Dim vsoPage&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Visio.Page&lt;br /&gt;Dim VsoShp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Visio.Shape&lt;/p&gt;&lt;p&gt;For Each vsoPage In ActiveDocument.Pages&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For Each VsoShp In vsoPage.Shapes&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Not VsoShp.OneD Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nrows = VsoShp.RowCount(Visio.visSectionProp)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 0 To nrows - 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If VsoShp.CellsSRC(Visio.visSectionProp, i, visCustPropsLabel).ResultStr(Visio.visNone) = &amp;quot;ReportingType&amp;quot; Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ReportingType = VsoShp.CellsSRC(Visio.visSectionProp, i, visCustPropsValue).ResultStr(Visio.visNone)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For Each conObj In VsoShp.FromConnects&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If conObj.FromPart = visEnd Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Debug.Print &amp;quot;change to --&amp;gt; &amp;quot;; ReportingType&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select Case ReportingType&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case &amp;quot;Dotted&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conObj.FromSheet.CellsSRC(visSectionObject, visRowLine, visLinePattern).FormulaU = &amp;quot;3&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case &amp;quot;Dashed&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conObj.FromSheet.CellsSRC(visSectionObject, visRowLine, visLinePattern).FormulaU = &amp;quot;2&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case Else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Debug.Print ReportingType&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Select&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next conObj&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next i&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next VsoShp&lt;/p&gt;&lt;p&gt;Next vsoPage&lt;/p&gt;&lt;p&gt;End Sub&lt;/p&gt;&lt;p&gt;This can be taken further by trapping any changes to the line pattern through the UI and updating the Custom Property to match.&lt;/p&gt;&lt;p&gt;John... Visio MVP&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=190401" width="1" height="1"&gt;</description></item><item><title>Visio's other file format - Report Definition files *.VRD</title><link>http://msmvps.com/blogs/visio/archive/2006/10/15/Visio_2700_s-other-file-format-_2D00_-Report-Definition-files-_2A00_.VRD.aspx</link><pubDate>Sun, 15 Oct 2006 22:47:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:179931</guid><dc:creator>visio</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/visio/rsscomments.aspx?PostID=179931</wfw:commentRss><comments>http://msmvps.com/blogs/visio/archive/2006/10/15/Visio_2700_s-other-file-format-_2D00_-Report-Definition-files-_2A00_.VRD.aspx#comments</comments><description>&lt;p&gt;It has been a long standing fact that though there were several Visio file tpes; stencils, drawing, templates and workspaces, there was a only one Visio file format. Several versions ago, a new file format crept into the Visio file format. Visio added a reporting facility that used a seperate file to store information about how to create the report.&lt;/p&gt;&lt;p&gt;About the same time, Visio gave the Visio user the oppurtunity to save Visio drawings in XML format. So, the information in the Visio Report Definition (VRD) files is also stored in XML format. For Visio 2003, the third version of the VRD, schemas were created.&amp;nbsp; (schemas-microsoft-com:office:visio:reportdefinition).&lt;/p&gt;&lt;p&gt;The VRD file is divided into several sections. The first section sets basic information for the report, the title, the description.&lt;/p&gt;&lt;p&gt;The second section, a collection of &amp;lt;VisioRptDefField&amp;gt;s, describes the fields to be used, the column headers and the order.&lt;/p&gt;&lt;p&gt;The third section, a collection of &amp;lt;VisioRptDefFilter&amp;gt;s, describes the filters that would apply to seect the information for the report.&lt;/p&gt;&lt;p&gt;The fourth section, &amp;lt;VisioRptDefGroup&amp;gt;, describes how the records are grouped.&lt;/p&gt;&lt;p&gt;The fifth section, a collection of&amp;nbsp;&amp;lt;VisioRptDefSort&amp;gt;s, describe how the information is sorted.&lt;/p&gt;&lt;p&gt;For Visio 2007, there are no new or deleted reports and the only changes are very, very minor corrections to the reports&amp;#39; description. &lt;/p&gt;&lt;p&gt;So what is the point of knowing this? I have yet to see a request in the Visio newsgroups for automating report creation, but creating or modifying XML will be far easier than trying to control the wizard by Sendkey. &lt;/p&gt;&lt;p&gt;John... Visio MVP&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=179931" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/visio/archive/tags/Visio+VRD+Report+Defintion+XML/default.aspx">Visio VRD Report Defintion XML</category></item><item><title>How do Borders and Title shapes stretch to fit the page?</title><link>http://msmvps.com/blogs/visio/archive/2006/04/23/92232.aspx</link><pubDate>Sun, 23 Apr 2006 12:31:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:92232</guid><dc:creator>visio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/visio/rsscomments.aspx?PostID=92232</wfw:commentRss><comments>http://msmvps.com/blogs/visio/archive/2006/04/23/92232.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Arial&gt;When dropping a border or title shape on a page, it automatically stretches to fit the page, but if you look at the shapesheet for the dropped shape, Width and Height are fixed. How do they do that?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;The trick is that the shape on the stencil has an EventDrop cell that tells Visio to set the values of Width, Height, PinX and PinY to fixed values&amp;nbsp;when the shape is dropped on a page. It also tells Visio to clear the EventDrop cell so the process can not be repeated by the copy.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;You can find samples of these shapes by&amp;nbsp;looking in the "Background"&amp;nbsp;"Border and Titles" stencils. When you look ath these shapes, you will find that these shapes define their size based on the page size using the following formula:&lt;BR&gt;&lt;BR&gt;Width&amp;nbsp;=ThePage!PageWidth-4*User.PageMargin&lt;BR&gt;Height=ThePage!PageHeight-4*User.PageMargin&lt;BR&gt;PinX=ThePage!PageWidth*0.5&lt;BR&gt;PinY=ThePage!PageHeight*0.5&lt;BR&gt;&lt;BR&gt;The value for the PageMargin row in the User Section is a bit involved to repeat here, but it sets the margin off the shape based on the scaling factors in use.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;The EventDrop cell uses SETF and GETF to assign the initial formula to the four cells and then replace it with the formulas value. I have broken the formula into its' five components to make it more readable. In reality, the formula in the EventDrop cell below is one long string.&amp;nbsp;&lt;BR&gt;&lt;BR&gt;=SETF(GetRef(Width),ThePage!PageWidth-4*User.PageMargin)&lt;BR&gt;+SETF(GetRef(Height),ThePage!PageHeight-4*User.PageMargin)&lt;BR&gt;+SETF(GetRef(PinX),ThePage!PageWidth*0.5)&lt;BR&gt;+SETF(GetRef(PinY),ThePage!PageHeight*0.5)&lt;BR&gt;+SETF("EventDrop",0)&lt;BR&gt;&lt;BR&gt;&amp;nbsp;The&amp;nbsp;final SETF clears the EventDrop cell.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;A similar method is used for Background pages, but the formulas are not cleared&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;Width&amp;nbsp;=GUARD(ThePage!PageWidth)&lt;BR&gt;Height=GUARD(ThePage!PageHeight)&lt;BR&gt;PinX=GUARD(Width/2)&lt;BR&gt;PinY=GUARD(Height/2)&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;Unlike the Borders and Titles shapes, the Background shape needs to run an add-on&amp;nbsp;to place the shape. The EventDrop cell contains:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;=RUNADDON("Make Background")+SETF("EventDrop",0)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;The "Make Background"&amp;nbsp;is a Private add-on which will create a background page called VBackground, place and resize the shape and then add the background page&amp;nbsp;reference to the foreground page.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;John...&amp;nbsp;&amp;nbsp;&amp;nbsp; Visio MVP&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=92232" width="1" height="1"&gt;</description></item><item><title>The Bowness of a Circular Arc</title><link>http://msmvps.com/blogs/visio/archive/2006/04/05/89440.aspx</link><pubDate>Wed, 05 Apr 2006 17:16:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:89440</guid><dc:creator>visio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/visio/rsscomments.aspx?PostID=89440</wfw:commentRss><comments>http://msmvps.com/blogs/visio/archive/2006/04/05/89440.aspx#comments</comments><description>&lt;P&gt;To create a circular arc in a shapesheet's Geometry section, requires the specification of where the arc ends and a cell called "A" that holds the measurement of how much the arc differs from a straight line between the end points of the arc. The deflection indicates how much the arc bows. It is possible to fragment a circular shape to get an idea of a value of "A", but it is a value not a formula.&lt;/P&gt;
&lt;P&gt;So what is a formula to describe the content of the "A" cell? To determine a formula, you need to revisit your grade school trigonometry notes. A line that connects two points a circle is called a chord and has a few special properties. The largest chord passes through the center of the circle and is called the diameter. A triangle formed by the chord and the center of the circle forms an Isosceles triangle. The angles at either end of the chord are identical. If you use the half way point on the chord, call it B, to bisect the triangle through the center of the circle, call it C, you end up with two identical right angles triangles.&lt;/P&gt;
&lt;P&gt;The length from B to C divided by the hypotenuse of the right angle triangle&amp;nbsp;is the sine of the angle of the right angle triangle at the center of the circle. In this case, the hypotenuse is the radius of the circle and the angle is half the value of the angle formd by Isosceles triangle.&lt;/P&gt;
&lt;P&gt;So&amp;nbsp;the length of BC is:&amp;nbsp;&amp;nbsp;Radius x Cosine (angle/2).&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;So&amp;nbsp;the formula for cell "A" is:&amp;nbsp; Radius - Radius times Cosine (angle/2)&amp;nbsp; or Radius (1 - Cosine(angle/2))&lt;/P&gt;
&lt;P&gt;John... Visio MVP&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=89440" width="1" height="1"&gt;</description></item><item><title>Creating Automation Friendly Visio diagrams</title><link>http://msmvps.com/blogs/visio/archive/2006/03/05/85513.aspx</link><pubDate>Sun, 05 Mar 2006 17:17:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:85513</guid><dc:creator>visio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/visio/rsscomments.aspx?PostID=85513</wfw:commentRss><comments>http://msmvps.com/blogs/visio/archive/2006/03/05/85513.aspx#comments</comments><description>&lt;P&gt;About a week ago I was asked if it was possible to save the information from a hand drawing Orgchart (one done without the wizard). The simple answer was yes, but with a few caveats. It would not be an easy task to extract all the information from the diagram.&lt;/P&gt;
&lt;P&gt;Visio allows the user two views of their diagram; the one most people are familiar with is the one that appears on the screen or the printed page; the second is what a program can "see" of the drawing through automation. What may appear logical in the diagram, may not actually be the true representation. For example, the ethernet shape in the network stencil has only eight connection points. By dropping a second ethernet shape on top of the first, it appears that there is a single ethernet shape with sixteen connection points. From the automation side, there would still be two seperate ethernet shapes.&lt;/P&gt;
&lt;P&gt;So here are some guidelines for creating Visio diagrams, not necessarily orgcharts, so that they are more automation friendly.&lt;/P&gt;
&lt;P&gt;The first suggestion is to standardize on the shapes. It is a lot easier for an automation routine to understand a drawing if all similar shapes have the same master. For example, most diagrams contain extra shapes in addition to the ones used for the connected diagram. There may be legends, title blocks, side comments and company identifiers. Thses shapes can be identified by the fact that they are unconnected, but it would be easier if the automation routine was looking for specific shapes.&lt;/P&gt;
&lt;P&gt;Background pages would reduce the number of unconnected shapes on the foreground pages. It would add consistency to the drawings by making sure that common information appears in the same location on each page.&lt;/P&gt;
&lt;P&gt;If you are creating your own shapes, keep them as simple as possible. Do not avoid grouped shapes, but make sure they are necessary. Each group shape is a collection of shapes and once one is found, this new collection of shapes has to be processed. Most shape features (connection points, custom properties and various geometry sections) can be contained in a single shape. The only real need for grouping shapes is to add secondary colours, line formats or text blocks.&lt;/P&gt;
&lt;P&gt;One of the caveats on the drawing I saw was how was it possible to extract the name and position as seperate items from the OrgChart. Luckily in the example, though the two pieces of information are in the same text block, each had a different format (One was in bold). Using the Characters collection in Visio makes it possible to seperate the two strings. If starting from scratch, it would have been easier to use custom properties and reference the custom properties from the text block.&lt;/P&gt;
&lt;P&gt;When connecting shapes, make sure the connection goes to the connection point on the logical shape. I have seen some shapes that appear to connected, but in fact, the free end of it's connecting line is just sitting near one of the other lines. In another example, a group of vertically stacked individuals appear to be connected to a supervisor, but in fact each shape is connected to the shape above it rather than to the logical shape, the supervisor.&lt;/P&gt;
&lt;P&gt;Connecting lines are 1-d shapes and have a beginning and an end. Be consistent as to whether the supervisor is at the beginning or the end of the line. I'll leave it to the academics as to which one it should be.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=85513" width="1" height="1"&gt;</description></item><item><title>Visio's Most Useful Tool - The Macro Recorder</title><link>http://msmvps.com/blogs/visio/archive/2006/03/03/85364.aspx</link><pubDate>Fri, 03 Mar 2006 16:16:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:85364</guid><dc:creator>visio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/visio/rsscomments.aspx?PostID=85364</wfw:commentRss><comments>http://msmvps.com/blogs/visio/archive/2006/03/03/85364.aspx#comments</comments><description>&lt;P&gt;Finally, with the release of Visio 2003, came Visio's most useful tool&amp;nbsp;for development; the macro recorder. By clicking the record button it is possible to quickly see how various Visio tasks can be translated into VBA. The Help file that comes with Visio is useful for explaining the details of a command, but there is not enough examples explaining how to string several commands together, the macro recorder fills in this gap.&lt;/P&gt;
&lt;P&gt;For example, to simply answer the question; "How&amp;nbsp;do you create two shapes &amp;nbsp;and connect them together using VBA?" The macro recorder will generate the following macro.&lt;/P&gt;
&lt;P&gt;Sub Macro1()&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application.ActiveWindow.Page.DrawRectangle 1#, 10#, 2#, 9#&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim vsoCharacters1 As Visio.Characters&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set vsoCharacters1 = Application.ActiveWindow.Page.Shapes.ItemFromID(1).Characters&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vsoCharacters1.Begin = 0&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vsoCharacters1.End = 0&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vsoCharacters1.Text = "John"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application.ActiveWindow.Page.DrawRectangle 3#, 10#, 4#, 9#&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim vsoCharacters2 As Visio.Characters&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set vsoCharacters2 = Application.ActiveWindow.Page.Shapes.ItemFromID(2).Characters&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vsoCharacters2.Begin = 0&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vsoCharacters2.End = 0&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vsoCharacters2.Text = "Mary"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim UndoScopeID3 As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UndoScopeID3 = Application.BeginUndoScope("Drop On Page")&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application.Windows.ItemEx("atest.vsd").Activate&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application.ActiveWindow.Page.Drop Application.Documents.Item("C:\DOCUME~1\John\MYDOCU~1\VISIOC~1\atest.vsd").Masters.ItemU("Dynamic connector"), 0#, 0#&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim vsoCell1 As Visio.Cell&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim vsoCell2 As Visio.Cell&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set vsoCell1 = Application.ActiveWindow.Page.Shapes.ItemFromID(3).CellsU("BeginX")&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set vsoCell2 = Application.ActiveWindow.Page.Shapes.ItemFromID(1).CellsSRC(1, 1, 0)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vsoCell1.GlueTo vsoCell2&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set vsoCell1 = Application.ActiveWindow.Page.Shapes.ItemFromID(3).CellsU("EndX")&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set vsoCell2 = Application.ActiveWindow.Page.Shapes.ItemFromID(2).CellsSRC(1, 1, 0)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vsoCell1.GlueTo vsoCell2&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application.EndUndoScope UndoScopeID3, True&lt;/P&gt;
&lt;P&gt;End Sub&lt;/P&gt;
&lt;P&gt;That sure looks like a mouthful, but it can quickly reduced to a more manage size by a few simple edits.&lt;/P&gt;
&lt;P&gt;The macro recorder will record the actions taken and the extra code required to undo the changes. This extra code is easily identified and can be quickly removed. Each block of undo code uses a variable with a name like UndoScopeIDn, where n is a number that gets incremented for each undo bloc. Each block contains three commands; a Dim, Application.BeginUndoScope and a Application.EndUndoScope statement. These statements can be removed.&lt;/P&gt;
&lt;P&gt;The references to Application.ActiveWindow.Page can be replaced with a reference to ActivePage.&lt;/P&gt;
&lt;P&gt;The macro recorder uses the more formal form of Shapes.ItemFromID(1), but this can be simplified to Shapes(1).&lt;/P&gt;
&lt;P&gt;For text handling you will probably find something like:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set vsoCharacters1 = ActivePage.Shapes(1).Characters&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vsoCharacters1.Begin = 0&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vsoCharacters1.End = 0&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vsoCharacters1.Text = "John"&lt;/P&gt;
&lt;P&gt;This is useful if you are manipulating the shapes text, but if, as in this case, you are replacing the entire text,&amp;nbsp;this long winded block of text can be replaced with: &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ActivePage.Shapes(1).Text = "John"&lt;/P&gt;
&lt;P&gt;Now, the macro looks like:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;Sub Macro1()&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ActivePage.DrawRectangle 1#, 10#, 2#, 9#&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ActivePage.Shapes(1).Text = "John"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ActivePage.DrawRectangle 3#, 10#, 4#, 9#&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ActivePage.Shapes(2).Text = "Mary"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application.Windows.ItemEx("atest.vsd").Activate&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ActivePage.Drop Application.Documents.Item("C:\DOCUME~1\John\MYDOCU~1\VISIOC~1\atest.vsd").Masters.ItemU("Dynamic connector"), 0#, 0#&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim vsoCell1 As Visio.Cell&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim vsoCell2 As Visio.Cell&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set vsoCell1 = ActivePage.Shapes(3).CellsU("BeginX")&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set vsoCell2 = ActivePage.Shapes(1).CellsSRC(1, 1, 0)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vsoCell1.GlueTo vsoCell2&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set vsoCell1 = ActivePage.Shapes(3).CellsU("EndX")&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set vsoCell2 = ActivePage.Shapes(2).CellsSRC(1, 1, 0)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vsoCell1.GlueTo vsoCell2&lt;/P&gt;
&lt;P&gt;End Sub&lt;/P&gt;
&lt;P&gt;This makes it a lot easier to understand the generated code and relate it back to the information that is provided in the help file.&lt;/P&gt;
&lt;P&gt;John... Visio MVP&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=85364" width="1" height="1"&gt;</description></item><item><title>Pop up text on a document saved as HTML</title><link>http://msmvps.com/blogs/visio/archive/2006/01/11/80813.aspx</link><pubDate>Wed, 11 Jan 2006 21:18:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:80813</guid><dc:creator>visio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/visio/rsscomments.aspx?PostID=80813</wfw:commentRss><comments>http://msmvps.com/blogs/visio/archive/2006/01/11/80813.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Arial&gt;Thanks to Visio's Mark Nelson for the following tip:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;You can add the User.visEquivTitle cell to your shape and provide a string hat will display as a tooltip in the web output. The shape must also have at least one custom property for the tooltip to be visible.&lt;BR&gt;&lt;BR&gt;Steps:&lt;BR&gt;1) Select the shape in your drawing that you want to add a web tooltip for&lt;BR&gt;2) Go to Window &amp;gt; Show Shapesheet&lt;BR&gt;3) Go to Insert &amp;gt; Section, check User-defined cells and click OK&lt;BR&gt;4) In the newly created section, click on the row name User.Row_1 to select the title of the row&lt;BR&gt;5) Type visEquivTitle and press Enter - you should now see User.visEquivTitle for the row&lt;BR&gt;6) In the Value cell of that row, enter the text you want to display surrounded by quotes (e.g. "Hello World")&lt;BR&gt;7) If you instead want to display the same tooltip as the Shape ScreenTip enter&amp;nbsp; =Comment&amp;nbsp;&amp;nbsp;&amp;nbsp; (no quotes)&lt;BR&gt;8) Go to Insert &amp;gt; Section, check Custom properties and click OK&lt;BR&gt;9) You can fill in the custom property Label and Value if you want this information to be visible&lt;BR&gt;10) If you don't want the custom property to be visible, enter TRUE in the Invisible cell&lt;BR&gt;11) Close the Shapesheet window and repeat for any other shape you like&lt;BR&gt;12) Choose File &amp;gt; Save as Web Page to create the HTML output&lt;BR&gt;&lt;BR&gt;As you can see this is a bit involved.&amp;nbsp; The capability was designed more as a developer feature than an end user feature.&amp;nbsp; I recommend tying the Shape ScreenTip to the User cell so that you see the same tooltip in both Visio and the web output.&amp;nbsp; It should also be possible to use Macro Recorder to automate these steps.&amp;nbsp; If your shape has a custom property but does not have the User.visEquivTitle cell, Visio will display the shape's text in a tooltip instead.&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=80813" width="1" height="1"&gt;</description></item><item><title>DistanceFrom Problem</title><link>http://msmvps.com/blogs/visio/archive/2006/01/02/80172.aspx</link><pubDate>Mon, 02 Jan 2006 16:12:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:80172</guid><dc:creator>visio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/visio/rsscomments.aspx?PostID=80172</wfw:commentRss><comments>http://msmvps.com/blogs/visio/archive/2006/01/02/80172.aspx#comments</comments><description>&lt;P&gt;Last month, Tsung-Yuan Liu reported that he was getting inconsistent results with DistanceFrom. DistanceFrom A-&amp;gt;B was not the same as DistanceFrom B-&amp;gt;A.&lt;/P&gt;
&lt;P&gt;If you create two identical squares seperated by a gap, &lt;BR&gt;DistanceFrom A-&amp;gt;B = DistanceFrom B-&amp;gt;A = the value of the gap&lt;/P&gt;
&lt;P&gt;If you change one of the squares to a rectangle by reducing the hieght and maintain the gap, as long as the tops or the bottoms are aligned, the above relationship still holds.&lt;/P&gt;
&lt;P&gt;Maintaining the gap, move the smaller rectangle (shape A), so that it's top is below the top of the larger shape (shape B) and it's bottom is above the bottom of the larger shape, DistanceFrom A-&amp;gt;B is still the size of the gap, but DistanceFrom B-&amp;gt;A is now larger than the gap. The width of the shapes has no effect on DistanceFrom and as long as the gap is maintained, the width of either shape can be reduced to almost nil and&amp;nbsp;the values for DistanceFrom will not change. The maximum difference for a specific pair of shapes and a given gap is obtained by aligning the shapes vertically along their center lines.&lt;/P&gt;
&lt;P&gt;So what does this larger number represent?&amp;nbsp;&amp;nbsp;Take the difference in the hieght of the tops of the two shapes (or the bottoms if that value is smaller) add the square of the gap and take the square root. This will give yo the larger number.&amp;nbsp;In other words, if shape&amp;nbsp; A is on the left and it's center is higher, the larger DistanceFrom value is the distance from the top right corner of shape A to the top left corner of shape B.&lt;/P&gt;
&lt;P&gt;So the work around to minimize this problem is to&amp;nbsp;do both calculations and use the smaller value.&lt;/P&gt;
&lt;P&gt;Yoda has reported a similar effect with a trapezoid and a circle, but I have been unable to determine what the larger value represents. The smaller one does appear to be the shortest distance.&lt;BR&gt;&lt;A href="http://www.mster.co.jp/visiosquare/cgi-bin/cbbs/file/DistanceFrom.gif"&gt;http://www.mster.co.jp/visiosquare/cgi-bin/cbbs/file/DistanceFrom.gif&lt;/A&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=80172" width="1" height="1"&gt;</description></item><item><title>Comments?</title><link>http://msmvps.com/blogs/visio/archive/2005/07/06/56624.aspx</link><pubDate>Thu, 07 Jul 2005 03:57:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:56624</guid><dc:creator>visio</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/visio/rsscomments.aspx?PostID=56624</wfw:commentRss><comments>http://msmvps.com/blogs/visio/archive/2005/07/06/56624.aspx#comments</comments><description>&lt;P&gt;&lt;SPAN lang=EN-CA&gt;Visio 2003 supports two types of comments: Shape ScreenTips and Annotation. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-CA&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-CA&gt;Shape ScreenTips is the older of the two and associates a comment with a shape that appears when you hover over a shape. The information about the comment is stored in the comment cell of the Miscellaneous section of the shape&amp;#8217;s shapesheet.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-CA&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-CA&gt;Annotation was added in Visio 2003 and is not associated with any shape, but with the page it is on. The information about the annotation is stored in the page&amp;#8217;s shapesheet in the new Annotation section. Choosing Show Shapesheet while an annotation is selected will open the page&amp;#8217;s shapesheet.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-CA&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-CA&gt;In previous versions you assigned or changed the shapes comment by using the Comment command from the Insert Menu. With Visio 2003, this action will create an annotation. To create a ScreenTip in Visio 2003 you need to choose Shape ScreenTip&amp;#8230; from the Insert menu or&lt;SPAN&gt; &lt;/SPAN&gt;Edit Shape ScreenTip&amp;#8230; to change it.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-CA&gt;John... Visio MVP&lt;/SPAN&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=56624" width="1" height="1"&gt;</description></item><item><title>A Visio line pattern</title><link>http://msmvps.com/blogs/visio/archive/2005/06/26/55977.aspx</link><pubDate>Sun, 26 Jun 2005 14:13:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:55977</guid><dc:creator>visio</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/visio/rsscomments.aspx?PostID=55977</wfw:commentRss><comments>http://msmvps.com/blogs/visio/archive/2005/06/26/55977.aspx#comments</comments><description>&lt;P&gt;During my usual weekend hunt for Visio items on the net I came across an article by Dan Brown on how to create a simple custom line pattern that indicates direction. The line pattern tapers in the direction of travel. This is accomplished by choosing a behaviour that stretches rather than repeats the line pattern. Dan's detailed directions are at:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.greenonions.com/archives/2005/01/14/stupid-visio-tricks-narrowings-lines/"&gt;http://www.greenonions.com/archives/2005/01/14/stupid-visio-tricks-narrowings-lines/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;John... Visio MVP&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=55977" width="1" height="1"&gt;</description></item><item><title>Custom line ends</title><link>http://msmvps.com/blogs/visio/archive/2005/06/05/50555.aspx</link><pubDate>Sun, 05 Jun 2005 18:43:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:50555</guid><dc:creator>visio</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/visio/rsscomments.aspx?PostID=50555</wfw:commentRss><comments>http://msmvps.com/blogs/visio/archive/2005/06/05/50555.aspx#comments</comments><description>&lt;DIV&gt;One interesting feature of Visio that is not well documented is that you can create your own custom fill patterns, line patterns and line ends. For now, I will review the procedure for creating a semicircular line end. Something like:&lt;/DIV&gt;
&lt;DIV&gt;(-----)&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;1) Open Drawing Explorer&lt;/DIV&gt;
&lt;DIV&gt;2) Select New Pattern from Line Ends. Set the name. Set the scaled option.&lt;/DIV&gt;
&lt;DIV&gt;3) Select the new master, right click and select Edit Pattern Shape.&lt;/DIV&gt;
&lt;DIV&gt;4) Place a vertical and a horizontal guide line so they intersect at the center of the page. This will be the end point of the line.&lt;/DIV&gt;
&lt;DIV&gt;5) Draw a circle, set the fill to none&amp;nbsp;and then drop a vertical line over it's center.&lt;/DIV&gt;
&lt;DIV&gt;6) Select the circle and the line and choose Operations --&amp;gt; Trim from the Shape menu.&lt;/DIV&gt;
&lt;DIV&gt;7) Deselect everything and then drag a selection box over the left side of the circle and the vertical line. Delete. This should leave you with the right side of the circle.&lt;/DIV&gt;
&lt;DIV&gt;8) Place the center of the circle over the intersection point of the guidelines.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;You will have to play with the sizing, but this should give you a semicircle line end and the line will end in the end of the circle. If you apply it to the start of the line, begin, it will be a "(" and it will be a ")" at the end. The assumption is that you want the line end at the end of the line placing it at the beginning will reverse it.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;John... Visio MVP&lt;/DIV&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=50555" width="1" height="1"&gt;</description></item><item><title>How do the background shapes work?</title><link>http://msmvps.com/blogs/visio/archive/2005/06/05/50547.aspx</link><pubDate>Sun, 05 Jun 2005 17:06:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:50547</guid><dc:creator>visio</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/visio/rsscomments.aspx?PostID=50547</wfw:commentRss><comments>http://msmvps.com/blogs/visio/archive/2005/06/05/50547.aspx#comments</comments><description>&lt;P&gt;When dropped on the current page the background shapes automatically adjust to the size of the current page. This is more obvious when the page has a landscape orientation.&amp;nbsp; This same feature is also used in the border shapes. To make your own background shape, create a shape that has no problems being stretched and then set the Width and Height cell in the Shape transform section. The new formulas should be Width =GUARD(ThePage!PageWidth) and Height =GUARD(ThePage!PageHeight). The Guard will prevent the formula from being changed. &lt;/P&gt;
&lt;P&gt;If you do not play with the background you may not need to set the protection cells, but the background shapes do set LockWidth, LockHeight, LockMoveX, LockMoveY, LockRotate and LockTextEdit to 1 in the Protection section.&lt;/P&gt;
&lt;P&gt;What may not be obvious when using the background shape is that the shape is not placed on the current foreground page, but on a new background page, called VBackground, that is attached to the page. If you drop more background shapes, the current background shape on VBackground is replaced. The shape accomplishes this by running an add-on called &amp;#8220;Make Background&amp;#8221; when the shape is dropped.. In the Events section set the EventDrop cell to RUNADDON("Make Background")+SETF("EventDrop",0). The last bit, &amp;#8220;+SETF(&amp;#8230;)&amp;#8221;, clears the content of the EventDrop Cell once the shape is dropped.&lt;/P&gt;
&lt;P&gt;John.. Visio MVP&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=50547" width="1" height="1"&gt;</description></item><item><title>Only one background page?</title><link>http://msmvps.com/blogs/visio/archive/2005/05/20/48164.aspx</link><pubDate>Fri, 20 May 2005 14:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:48164</guid><dc:creator>visio</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/visio/rsscomments.aspx?PostID=48164</wfw:commentRss><comments>http://msmvps.com/blogs/visio/archive/2005/05/20/48164.aspx#comments</comments><description>&lt;P&gt;In several online tutorials (non Microsoft), it is usually mentioned that you can only have one background page. This is partially true. A page can only have one background page. This is often interpreted as meaning only foreground pages, but background pages can also have background pages. So it is possible, that a foreground page can have a series of background pages attached to it. Why would you want to do it? The advantage of a background page is that you can place objects in consistent locations on all pages that print. (foreground pages print, background pages do not print.) So with multiple background pages, the one at the end of the chain could contain the title block and any artwork common to it. The next to last could contain common item specific to a subset of the pages and so on.&lt;/P&gt;
&lt;P&gt;Three minor point on background pages. &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Not all background pages are labelled background. (Mark: how about&amp;nbsp;different&amp;nbsp;colours on the tabs?)&lt;/LI&gt;
&lt;LI&gt;They will appear to the right of the foreground pages. &lt;/LI&gt;
&lt;LI&gt;Though they can not be printed they will show up in print preview.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;John... Visio MVP&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=48164" width="1" height="1"&gt;</description></item><item><title>Headers/Footers or Background Pages?</title><link>http://msmvps.com/blogs/visio/archive/2005/05/18/47669.aspx</link><pubDate>Wed, 18 May 2005 15:49:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:47669</guid><dc:creator>visio</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/visio/rsscomments.aspx?PostID=47669</wfw:commentRss><comments>http://msmvps.com/blogs/visio/archive/2005/05/18/47669.aspx#comments</comments><description>&lt;P&gt;&lt;SPAN&gt;Anyone new to Visio may not be aware of why Visio has both Headers/Footers and background pages or know that there is such a thing as a background page. 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;In Visio 1, the developers created the concept of type basic types of pages; foreground and background. The foreground pages were the pages that were actually printed and the background pages contained information that was to appear in a fixed position on the foreground page. So the concept of Headers/Footers common in other product like Word and Excel was implemented by creating a background. Anything that can be placed on a foreground page can be placed on a background page including special fields that would inherit information from the foreground page it was attached to (i.e. page name or page number). 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Visio 5 introduced the concept of Headers/Footers to address a specific printing problem. When a Visio drawing prints over several physical pages, there was a request to have the individual physical pages marked with a header/footer. Since this was addressing a specific problem, the amount and type of information in the header or footer was limited. 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;As long as the Visio page is the same size as the physical page, the background page can do everything the Header/Footer can do (and more). If the information in the header/footer is adequate, then they may be more convenient to use. It&amp;#8217;s your choice. 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;John&amp;#8230; Visio MVP&lt;/SPAN&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=47669" width="1" height="1"&gt;</description></item><item><title>Document ShapeSheet: Where? What? Why?</title><link>http://msmvps.com/blogs/visio/archive/2005/05/18/47514.aspx</link><pubDate>Wed, 18 May 2005 13:30:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:47514</guid><dc:creator>visio</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/visio/rsscomments.aspx?PostID=47514</wfw:commentRss><comments>http://msmvps.com/blogs/visio/archive/2005/05/18/47514.aspx#comments</comments><description>&lt;P&gt;Note: This&amp;nbsp;post is a lot funnier if you try to read it out loud!&lt;/P&gt;
&lt;P&gt;&lt;IMG id=ViewPicture.ascx_GalleryImage style="BORDER-RIGHT: black 2px solid; BORDER-TOP: black 2px solid; BORDER-LEFT: black 2px solid; WIDTH: 490px; BORDER-BOTTOM: black 2px solid; HEIGHT: 174px" alt="Document ShapeSheet" src="/images/msmvps_com/visio/1414/r_docss.jpg"&gt;&lt;/P&gt;
&lt;P&gt;Visio solution developer's will be excited to learn that Visio has a&amp;nbsp;&lt;STRONG&gt;Document ShapeSheet&lt;/STRONG&gt;. This&amp;nbsp;ShapeSheet looks similar to a page's ShapeSheet, which in turn&amp;nbsp;is similar to any old shape's ShapeSheet. &lt;/P&gt;
&lt;P&gt;While&amp;nbsp;said ShapeSheet&amp;nbsp;has fewer sections than a stock shape's, it does support the User-defined Cells section. This is a great place to store variables and values&amp;nbsp;that apply to all shapes and pages in the document. &lt;/P&gt;
&lt;P&gt;There are two ways to access the Document ShapeSheet. Guess which one isn't documented:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Hold the Shift key, then click: Window &amp;gt; Show ShapeSheet 
&lt;LI&gt;View the Drawing Explorer and right-click on the Drawing object at the top.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The syntax for&amp;nbsp;referencing a variable in the Document ShapeSheet is as follows:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;User.mvp = TheDoc!User.mvp&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Seemingly simple, a Shift + Show ShapeSheet sleight-of-hand will have you setting your solutions ship-shape in seconds!&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Chris Roth, Visio MVP&lt;/EM&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=47514" width="1" height="1"&gt;</description></item><item><title>Welcome</title><link>http://msmvps.com/blogs/visio/archive/2005/05/18/47483.aspx</link><pubDate>Wed, 18 May 2005 13:11:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:47483</guid><dc:creator>visio</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/visio/rsscomments.aspx?PostID=47483</wfw:commentRss><comments>http://msmvps.com/blogs/visio/archive/2005/05/18/47483.aspx#comments</comments><description>&lt;P&gt;The purpose of this blog is to provide the community with information about Visio. We will try to provide both technical information as well as trivia.&lt;/P&gt;
&lt;P&gt;Visio has been around for thirteen years and gone through almost as many versions. Five years ago it was aquired by Microsoft and is now&amp;nbsp;member of Microsoft's Office family. For more information on Visio's history. &amp;nbsp;&lt;A href="http://www.mvps.org/visio/History.htm"&gt;http://www.mvps.org/visio/History.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The Visio MVPs; Al Edlund, Senaj Lelic, John Marshall, David Parker, Chris Roth and Graham Wideman&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=47483" width="1" height="1"&gt;</description></item></channel></rss>