<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.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 Insights : Programming</title><link>http://blogs.msdn.com/visio/archive/tags/Programming/default.aspx</link><description>Tags: Programming</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Introducing the Microsoft Visio 2010 Beta SDK</title><link>http://blogs.msdn.com/visio/archive/2009/11/19/introducing-the-microsoft-visio-2010-beta-sdk.aspx</link><pubDate>Thu, 19 Nov 2009 22:28:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9925825</guid><dc:creator>Visio Team</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/visio/comments/9925825.aspx</comments><wfw:commentRss>http://blogs.msdn.com/visio/commentrss.aspx?PostID=9925825</wfw:commentRss><description>&lt;p&gt;A Beta release of &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=1cdbb7e7-6bd4-488f-91bd-7bd732dbf378"&gt;the Microsoft Visio 2010 SDK is now available for download&lt;/a&gt;! Due to high demand for an early version of the SDK, we have released a Beta version of the SDK with a partial set of supported features. Additional features and functionality will be available in the RTM version of the Visio SDK.&lt;/p&gt;  &lt;p&gt;There are two versions available depending on whether you are running the 32-bit or 64-bit version of Visio. It is important to install the right version of the SDK to ensure that all the SDK tools function correctly. &lt;/p&gt;  &lt;p&gt;The Microsoft Visio 2010 SDK contains the following items:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Tools &lt;/li&gt;    &lt;li&gt;Sample applications &lt;/li&gt;    &lt;li&gt;Visual Studio Add-on Wizards &lt;/li&gt;    &lt;li&gt;Documentation &lt;/li&gt;    &lt;li&gt;Visio Type Libraries and C++ Library Files &lt;/li&gt; &lt;/ol&gt; &lt;a name="asterisk"&gt;&lt;/a&gt; &lt;p&gt;We explain these items in more detail below. Features listed with an asterisk (*) are not supported in the Beta version of the Visio SDK.&lt;/p&gt;  &lt;h3&gt;Tools&lt;/h3&gt;  &lt;p&gt;Once you install the Visio SDK, you will see &lt;b&gt;SDK Tools&lt;/b&gt; available on the &lt;a href="http://blogs.msdn.com/visio/archive/2009/09/02/the-developer-tab-in-visio-2010.aspx"&gt;Developer tab&lt;/a&gt; in Visio.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/IntroducingtheMicrosoftVisio2010BetaSDK_CA92/SDK%20tools_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SDK tools" border="0" alt="SDK tools" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/IntroducingtheMicrosoftVisio2010BetaSDK_CA92/SDK%20tools_thumb.png" width="704" height="82" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The &lt;b&gt;Event Monitor&lt;/b&gt; tool watches for events that are raised in Visio and it can help you debug your solution when handling events.&lt;/p&gt;  &lt;p&gt;The &lt;b&gt;Persistent Events&lt;/b&gt; tool provides a user interface that lets you add and modify persisted events. &lt;/p&gt;  &lt;p&gt;The &lt;b&gt;Print ShapeSheet&lt;/b&gt; tool provides a user interface that lets you print the contents of a ShapeSheet. &lt;/p&gt;  &lt;p&gt;The Visio SDK also includes the &lt;b&gt;Microsoft Visio Solution Publishing Tool&lt;a href="#asterisk"&gt;*&lt;/a&gt;&lt;/b&gt;, which is an executable that you can run from outside Visio. This tool works with Windows Installer to add Visio-specific entries, such as Visio add-ons (.vsl and .exe files), stencils (.vss and .vsx files), templates (.vst and .vtx files), and Help files (.chm files), to the PublishComponent table of the .msi file that you create to install your solution on your users' computers.&lt;/p&gt;  &lt;h3&gt;Sample applications&lt;/h3&gt;  &lt;p&gt;The Visio SDK also includes a number of sample applications written in either Microsoft Visual Basic .NET, Microsoft Visual C#, or Microsoft Visual C++. You can experiment with these samples as you develop your own custom solutions for Microsoft Visio 2010. By default, the sample applications target the 32-bit version of Visio 2010.&lt;/p&gt;  &lt;p&gt;After installing the Visio SDK, you will see a new category of template on the &lt;b&gt;New&lt;/b&gt; tab of the &lt;a href="http://blogs.msdn.com/visio/archive/2009/07/28/the-getting-started-experience-in-visio-2010.aspx"&gt;Backstage View&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/IntroducingtheMicrosoftVisio2010BetaSDK_CA92/clip_image003_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="clip_image003" border="0" alt="clip_image003" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/IntroducingtheMicrosoftVisio2010BetaSDK_CA92/clip_image003_thumb.png" width="340" height="204" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The samples are not functional, however, until after they are built in Visual Studio and then installed using the generated setup.exe or .msi file. Once a sample application is installed, the application can be launched by opening the corresponding template in the SDK folder shown above. The only exception is the &lt;b&gt;Office Plan Sample&lt;/b&gt;, which uses the Microsoft Visio 2010 Drawing Control inside a Microsoft Windows Form and is launched from outside Visio. The available sample applications are shown below.&lt;/p&gt;  &lt;p&gt;The &lt;b&gt;Flowchart Chart Sample&lt;/b&gt; (available in C#, VB.NET and C++&lt;a href="#asterisk"&gt;*&lt;/a&gt;):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/IntroducingtheMicrosoftVisio2010BetaSDK_CA92/clip_image005_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image005" border="0" alt="clip_image005" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/IntroducingtheMicrosoftVisio2010BetaSDK_CA92/clip_image005_thumb.jpg" width="397" height="254" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The &lt;strong&gt;TreeView Sample&lt;a href="#asterisk"&gt;*&lt;/a&gt;&lt;/strong&gt; (available in VB.NET):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/IntroducingtheMicrosoftVisio2010BetaSDK_CA92/TreeView_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="TreeView" border="0" alt="TreeView" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/IntroducingtheMicrosoftVisio2010BetaSDK_CA92/TreeView_thumb.png" width="397" height="266" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The &lt;strong&gt;Office Plan Sample&lt;/strong&gt; (available in C#):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/IntroducingtheMicrosoftVisio2010BetaSDK_CA92/clip_image007_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image007" border="0" alt="clip_image007" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/IntroducingtheMicrosoftVisio2010BetaSDK_CA92/clip_image007_thumb.jpg" width="397" height="273" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Add-on Wizards&lt;/h3&gt;  &lt;p&gt;The Visio SDK installs wizards for creating Visio add-on projects in Microsoft Visual Studio 2005 and Microsoft Visual Studio 2008. These Wizards let you set up new Visio add-on projects in Microsoft Visual Basic .NET, Microsoft Visual C#, and Microsoft Visual C++, and create corresponding setup programs to install add-ons. Once you have used the wizard to create a Visio project, you can explore the project code and settings to learn more about how Visio add-ons should work. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/IntroducingtheMicrosoftVisio2010BetaSDK_CA92/VisualStudioWizard_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="VisualStudioWizard" border="0" alt="VisualStudioWizard" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/IntroducingtheMicrosoftVisio2010BetaSDK_CA92/VisualStudioWizard_thumb.png" width="644" height="353" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx"&gt;Microsoft Visual Studio 2010&lt;/a&gt; also includes wizards to generate Visio 2010 VSTO add-in projects. The Visio SDK is not required to use these wizards.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/IntroducingtheMicrosoftVisio2010BetaSDK_CA92/clip_image009_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image009" border="0" alt="clip_image009" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/IntroducingtheMicrosoftVisio2010BetaSDK_CA92/clip_image009_thumb.jpg" width="644" height="261" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Documentation&lt;a href="#asterisk"&gt;*&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;The Visio SDK includes documentation like the &lt;strong&gt;Visio Automation Reference, &lt;/strong&gt;the &lt;strong&gt;Visio ShapeSheet Reference&lt;/strong&gt;, the &lt;strong&gt;Visio Save As Web Reference&lt;/strong&gt;, the &lt;strong&gt;Visio Viewer Reference&lt;/strong&gt; and the &lt;strong&gt;Visio XML Reference&lt;/strong&gt;. In addition, it includes the &lt;strong&gt;Code Sample Library&lt;/strong&gt;—a library of interesting code samples. Note that the documentation included with the Beta SDK is Visio 2007 documentation.&lt;/p&gt;  &lt;h3&gt;Libraries&lt;/h3&gt;  &lt;p&gt;We also include a number of support files in the SDK. We provide type libraries for three application programming interfaces (APIs) that Microsoft Visio 2010 exposes: the Visio type library, the Save as Web type library, and the Microsoft Office Visio Drawing Control type library. In addition, we provide support files to help C++ developers automate Visio. The Beta versions of these support files are in this release of the SDK.&lt;/p&gt;  &lt;h3&gt;Things to expect at RTM&lt;/h3&gt;  &lt;p&gt;Along with the content described above, we are working on some new features for the RTM version of the SDK. We are currently planning to release the following additions at RTM:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;A new &lt;b&gt;VSTO Add-in Sample Application&lt;/b&gt; that uses a &amp;quot;ClickOnce&amp;quot; post-deployment action to install Visio template and stencil files, &lt;/li&gt;    &lt;li&gt;Guidance for reconfiguring the SDK sample applications to target the 64-bit version of Visio 2010, &lt;/li&gt;    &lt;li&gt;New code samples in the &lt;b&gt;Code Sample Library&lt;/b&gt; for API functionality added in Visio 2010, and &lt;/li&gt;    &lt;li&gt;Documentation for new Visio 2010 API and ShapeSheet functionality. &lt;/li&gt; &lt;/ol&gt;  &lt;h3&gt;Feedback welcome!&lt;/h3&gt;  &lt;p&gt;As you explore the SDK and use the tools provided, we encourage you to provide feedback about your experience. You can use the Office 2010 &lt;a href="http://blogs.technet.com/office2010/archive/2009/07/15/tell-us-what-you-think-about-office-2010-technical-preview.aspx"&gt;Send a Smile&lt;/a&gt; functionality to send us feedback about the SDK, or you can comment on the blog.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9925825" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/visio/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/visio/archive/tags/All+Posts/default.aspx">All Posts</category><category domain="http://blogs.msdn.com/visio/archive/tags/Visio+2010/default.aspx">Visio 2010</category></item><item><title>The Visio 2010 Connectivity API</title><link>http://blogs.msdn.com/visio/archive/2009/09/22/the-visio-2010-connectivity-api.aspx</link><pubDate>Wed, 23 Sep 2009 09:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9898311</guid><dc:creator>Visio Team</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/visio/comments/9898311.aspx</comments><wfw:commentRss>http://blogs.msdn.com/visio/commentrss.aspx?PostID=9898311</wfw:commentRss><description>&lt;P&gt;Our &lt;A href="http://blogs.msdn.com/visio/archive/2009/09/22/autoconnect-in-visio-2010.aspx" mce_href="http://blogs.msdn.com/visio/archive/2009/09/22/autoconnect-in-visio-2010.aspx"&gt;previous post on AutoConnect in Visio 2010&lt;/A&gt; discussed how Visio 2010 makes it simpler and faster for end users to create connected diagrams such as flowcharts. Many developers will be pleased to hear that Visio 2010 also brings greatly simplified utilities for working with connected diagrams programmatically. The Visio 2010 API contains new methods that let developers manipulate and traverse connected diagrams or graphs at a higher level of abstraction than previously, which can result in greater programmer productivity and more concise, readable code.&lt;/P&gt;
&lt;P&gt;In this blog post, we will introduce the new Visio 2010 methods used for working with connected diagrams. Then we will see these methods in action by doing a visual walk-through of a program that manipulates a flowchart. (The source code and diagram used below are also available for download &lt;A href="http://cid-bc8c3347838f4d4f.skydrive.live.com/self.aspx/.Public/Connectivity%20API%20Blog%20Post.zip" mce_href="http://cid-bc8c3347838f4d4f.skydrive.live.com/self.aspx/.Public/Connectivity%20API%20Blog%20Post.zip"&gt;here&lt;/A&gt;.)&lt;/P&gt;
&lt;H2&gt;New connectivity methods in Visio 2010&lt;/H2&gt;
&lt;P&gt;For each of the following API methods, we give a brief description on what the method does, along with an explanation of the method’s arguments. This is not meant to be a complete reference; the forthcoming Visio 2010 SDK will contain much more complete documentation on these methods.&lt;/P&gt;
&lt;H3&gt;Shape&lt;B&gt;.ConnectedShapes(Flags, CategoryFilter)&lt;/B&gt;&lt;/H3&gt;
&lt;P&gt;Returns an array of identifiers (IDs) of shapes that are one degree of separation away from the given shape (i.e. separated by a 1-D connector).&lt;/P&gt;
&lt;P&gt;Arguments:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Flags: Filters the list of returned shape IDs by the directionality of the connectors. &lt;/LI&gt;
&lt;LI&gt;CategoryFilter: Filters the list of returned shape IDs by limiting it to IDs of shapes that match the specified category. A shape’s categories can be found in the User.msvShapeCategories cell of its ShapeSheet. &lt;/LI&gt;&lt;/UL&gt;
&lt;H3&gt;Shape&lt;B&gt;.GluedShapes(Flags, CategoryFilter, pOtherConnectedShape)&lt;/B&gt;&lt;/H3&gt;
&lt;P&gt;Returns an array of identifiers for the shapes that are glued to a shape. For instance, if the given shape is a 2-D shape that has multiple connectors attached to it, this method would return the IDs of those connectors. If the given shape is a connector, this method would return the IDs of the shapes to which its ends are glued.&lt;/P&gt;
&lt;P&gt;Arguments:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Flags: Specifies dimensionality and directionality of connectors of shapes returned. &lt;/LI&gt;
&lt;LI&gt;CategoryFilter: Specifies category of shapes returned. &lt;/LI&gt;
&lt;LI&gt;pOtherConnectedShape: Optional additional shape to which returned shapes must also be glued &lt;/LI&gt;&lt;/UL&gt;
&lt;H3&gt;Page.DropConnected(ObjectToDrop, TargetShape, PlacementDir, [Connector])&lt;/H3&gt;
&lt;P&gt;Creates a new Shape object on the page, places the new shape relative to the specified existing target shape, and adds a connector from the existing shape to the new shape. Returns the newly created shape. This feature parallels the AutoConnect feature in the Visio user interface.&lt;/P&gt;
&lt;P&gt;Arguments:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;ObjectToDrop: The shape to be added to the page &lt;/LI&gt;
&lt;LI&gt;TargetShape: The existing shape from which to align, space, and connect &lt;/LI&gt;
&lt;LI&gt;PlacementDir: The direction from TargetShape in which to place ObjectToDrop&lt;/LI&gt;
&lt;LI&gt;Connector: The connector to use (optional). This overrides usage of the default Dynamic Connector.&lt;/LI&gt;&lt;/UL&gt;
&lt;H3&gt;Page.SplitConnector&lt;B&gt;(ConnectorToSplit, Shape)&lt;/B&gt;&lt;/H3&gt;
&lt;P&gt;Splits the specified connector with the specified shape. Returns the new, duplicated connector.&lt;/P&gt;
&lt;P&gt;Arguments:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;ConnectorToSplit: The connector to split. Must be a routable 1-D connector. &lt;/LI&gt;
&lt;LI&gt;Shape: The shape to use to split the connector. Must be a 2-D shape. &lt;/LI&gt;&lt;/UL&gt;
&lt;H3&gt;Shape.Disconnect(ConnectorEnd, OffsetX, OffsetY, Units) &lt;/H3&gt;
&lt;P&gt;Unglues the specified connector end points and offsets them the specified amount from the shapes they were joined to. &lt;/P&gt;
&lt;P&gt;Arguments:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;ConnectorEnd: The end of the connector to disconnect &lt;/LI&gt;
&lt;LI&gt;OffsetX: The &lt;I&gt;x&lt;/I&gt;-distance that the connector end is moved away from the shape &lt;/LI&gt;
&lt;LI&gt;OffsetY: The &lt;I&gt;y&lt;/I&gt;-distance that the connector end is moved away from the shape &lt;/LI&gt;
&lt;LI&gt;Units: The units of measure for the assigned offset values &lt;/LI&gt;&lt;/UL&gt;
&lt;H3&gt;Page.AutoConnectMany&lt;B&gt;(FromShapeIDs(), ToShapeIDs(), PlacementDirs(), [Connector])&lt;/B&gt;&lt;/H3&gt;
&lt;P&gt;Automatically draws multiple connections in the specified directions between the specified shapes. Returns the number of shapes connected.&lt;/P&gt;
&lt;P&gt;Arguments:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;FromShapeIDs(): An array of identifers of the shapes from which to draw a connection &lt;/LI&gt;
&lt;LI&gt;ToShapeIDs(): An array of identifers of the shapes to which to draw a connection &lt;/LI&gt;
&lt;LI&gt;PlacementDirs(): An array of constants that represent the directions in which to draw the connection &lt;/LI&gt;
&lt;LI&gt;Connector: The connector to use (optional). This overrides usage of the default Dynamic Connector.&lt;/LI&gt;&lt;/UL&gt;
&lt;H2&gt;Let’s try it out!&lt;/H2&gt;
&lt;P&gt;Here is a screenshot of a Visio drawing we will be manipulating and traversing:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/ConnectivityAPI_13A04/1_2.png" mce_href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/ConnectivityAPI_13A04/1_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=1 border=0 alt=1 src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/ConnectivityAPI_13A04/1_thumb.png" width=644 height=187 mce_src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/ConnectivityAPI_13A04/1_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Using a few of the above listed methods, we’ll add to this flowchart and traverse it. Each step along the way, we’ll show you the corresponding line of C# code along with a screenshot of the change it caused.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Note&lt;/STRONG&gt;: In the below code snippets, &lt;FONT face="courier new"&gt;page&lt;/FONT&gt; refers to the active drawing page, and the &lt;FONT face="courier new"&gt;Visio&lt;/FONT&gt; namespace is an abbreviation of &lt;FONT face="courier new"&gt;Microsoft.Office.Interop.Visio&lt;/FONT&gt;. The meanings of most other variables should be apparent from the context.&lt;/P&gt;
&lt;P&gt;First, let's split the connector that currently connects "Start Event" to "Task" and insert a Sub-Process shape. We can access that connector using the &lt;STRONG&gt;GluedShapes&lt;/STRONG&gt; method. Once we’ve accessed the connector, we use &lt;STRONG&gt;SplitConnector&lt;/STRONG&gt; to split it.&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new"&gt;Array shapesGluedToStartEvent = &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; startEvent.GluedShapes(Visio.VisGluedShapesFlags.visGluedShapesOutgoing1D, "", null); &lt;BR&gt;// In this example, the above array has 1 element. Let's get that element. &lt;BR&gt;int splittableConnectorID = (int)shapesGluedToStartEvent.GetValue(0); &lt;BR&gt;Visio.Shape splittableConnector = page.Shapes.get_ItemFromID(splittableConnectorID); &lt;BR&gt;page.SplitConnector(splittableConnector, subprocessMaster); &lt;/FONT&gt;&lt;/P&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;
&lt;P&gt;This yields the following result:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/ConnectivityAPI_13A04/2_2.png" mce_href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/ConnectivityAPI_13A04/2_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=2 border=0 alt=2 src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/ConnectivityAPI_13A04/2_thumb.png" width=644 height=187 mce_src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/ConnectivityAPI_13A04/2_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Let's say we want to programmatically access the "Task" shape. If we have a reference to "Start Event", we can access "Task" by traversing across "Sub-Process", using &lt;STRONG&gt;ConnectedShapes&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new"&gt;Array shapesConnectedToByStartEvent = &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; startEvent.ConnectedShapes(Visio.VisConnectedShapesFlags.visConnectedShapesOutgoingNodes, ""); &lt;BR&gt;// In this example, the above array has 1 element. Let's get that element. &lt;BR&gt;int subProcessID = (int)shapesConnectedToByStartEvent.GetValue(0); &lt;BR&gt;Visio.Shape subProcess = page.Shapes.get_ItemFromID(subProcessID); &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new"&gt;// Repeating the same action as above to get from "Sub-Process" to "Task". &lt;BR&gt;Array shapesConnectedToBySubProcess = &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; subProcess.ConnectedShapes(Visio.VisConnectedShapesFlags.visConnectedShapesOutgoingNodes, ""); &lt;BR&gt;int taskID = (int)shapesConnectedToBySubProcess.GetValue(0); &lt;BR&gt;Visio.Shape task = page.Shapes.get_ItemFromID(taskID);&lt;/FONT&gt; &lt;/P&gt;
&lt;P&gt;Now let's use &lt;STRONG&gt;DropConnected&lt;/STRONG&gt; to drop an End Event shape onto the page and have "Task" connect to it. We use the default connector, so the last argument can be null.&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new"&gt;Visio.Shape endEvent = page.DropConnected(endEventMaster, &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; task, &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Visio.VisAutoConnectDir.visAutoConnectDirRight, &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; null); &lt;/FONT&gt;&lt;/P&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;
&lt;P&gt;This yields the following result:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/ConnectivityAPI_13A04/3_2.png" mce_href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/ConnectivityAPI_13A04/3_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=3 border=0 alt=3 src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/ConnectivityAPI_13A04/3_thumb.png" width=644 height=187 mce_src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/ConnectivityAPI_13A04/3_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;We hope this walk-through was a helpful illustration of Visio 2010’s new API utilities for working with connected diagrams. This article covers only a small part of the enhancements made to Visio’s API for the 2010 release; more information will come in future posts on this blog, and with the release of the Visio 2010 SDK.&lt;/P&gt;
&lt;P&gt;We’re interested to hear what developers think of this API functionality, so please use the &lt;A href="http://blogs.technet.com/office2010/archive/2009/07/15/tell-us-what-you-think-about-office-2010-technical-preview.aspx" mce_href="http://blogs.technet.com/office2010/archive/2009/07/15/tell-us-what-you-think-about-office-2010-technical-preview.aspx"&gt;Send a Smile feedback tool&lt;/A&gt; or leave a comment below.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9898311" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/visio/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/visio/archive/tags/All+Posts/default.aspx">All Posts</category><category domain="http://blogs.msdn.com/visio/archive/tags/Visio+2010/default.aspx">Visio 2010</category></item><item><title>SharePoint Conference 2009</title><link>http://blogs.msdn.com/visio/archive/2009/09/11/sharepoint-conference-2009.aspx</link><pubDate>Sat, 12 Sep 2009 03:02:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9894456</guid><dc:creator>Visio Team</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/visio/comments/9894456.aspx</comments><wfw:commentRss>http://blogs.msdn.com/visio/commentrss.aspx?PostID=9894456</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;The Visio team is anxiously preparing to introduce Visio Services to the world at the Microsoft SharePoint Conference 2009, which runs from October 19th to 22nd, 2009 in Las Vegas. &lt;/p&gt;  &lt;p&gt;Visio Services is a new SharePoint feature that allows you to share Visio drawings across your organization in SharePoint. But it does more... &lt;/p&gt;  &lt;p&gt;If you're interested in hearing what, &lt;a href="http://www.mssharepointconference.com/Pages/default.aspx"&gt;register for the conference&lt;/a&gt; and come listen to our talks. Don't worry if you can't make it -- in the coming months, we'll be presenting conference highlights on the blog as well as an in depth look at Visio Services features.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/SharePointConference2009_EFA9/WellBeAtSP_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="WellBeAtSP" border="0" alt="WellBeAtSP" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/SharePointConference2009_EFA9/WellBeAtSP_thumb.png" width="161" height="92" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9894456" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/visio/archive/tags/General+Usage/default.aspx">General Usage</category><category domain="http://blogs.msdn.com/visio/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/visio/archive/tags/All+Posts/default.aspx">All Posts</category><category domain="http://blogs.msdn.com/visio/archive/tags/Visio+vNext/default.aspx">Visio vNext</category><category domain="http://blogs.msdn.com/visio/archive/tags/Visio+2010/default.aspx">Visio 2010</category></item><item><title>Creating custom validation rules for Visio 2010</title><link>http://blogs.msdn.com/visio/archive/2009/09/10/creating-custom-validation-rules-for-visio-2010.aspx</link><pubDate>Thu, 10 Sep 2009 19:18:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9893735</guid><dc:creator>Visio Team</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/visio/comments/9893735.aspx</comments><wfw:commentRss>http://blogs.msdn.com/visio/commentrss.aspx?PostID=9893735</wfw:commentRss><description>&lt;p&gt;In our &lt;a href="http://blogs.msdn.com/visio/archive/2009/09/08/diagram-validation-in-visio-2010.aspx"&gt;last post&lt;/a&gt;, we discussed Diagram Validation—a new Visio 2010 feature which allows users to check their diagrams for common errors and allows companies to ensure that employees are following certain diagramming standards. In this post, we’ll talk more about how validation rules are stored and how to create custom validation rules.&lt;/p&gt;  &lt;p&gt;With Visio 2010, we provide diagram validation support for Basic Flowchart, Cross Functional Flowchart, Microsoft SharePoint Workflow and Business Process Modeling Notation diagrams. We also provide an extensive validation API for creating custom validation rules. The supported functionality includes adding and deleting rules and rule sets, directly manipulating validation issues, triggering validation, and detecting the validation event. This support allows companies to develop custom validation rules to meet their own needs.&lt;/p&gt;  &lt;p&gt;At a high level, validation rules belong to rule sets, such as the Flowchart and BPMN rule sets. To see which rule sets are available in your current diagram, click the &lt;b&gt;Check Diagram&lt;/b&gt; pull-down menu on the &lt;b&gt;Process&lt;/b&gt; tab, and then click &lt;b&gt;Rules to Check&lt;/b&gt;. Rule sets with a checkmark beside them are active—rules from these sets will be evaluated during validation. Clicking on a rule set will toggle it between active and inactive. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/CreatingcustomvalidationrulesforVisio201_82E3/RulestoCheck_2.png"&gt;&lt;img title="RulestoCheck" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="144" alt="RulestoCheck" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/CreatingcustomvalidationrulesforVisio201_82E3/RulestoCheck_thumb.png" width="264" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;There are two main approaches to creating custom validation rules and rule sets. &lt;/p&gt;  &lt;p&gt;1. You can write validation rules and validation logic that will be stored in a custom Visio template. These rules are automatically available to users that create diagrams based on this template. When a user clicks &lt;b&gt;Check Diagram&lt;/b&gt; on the &lt;b&gt;Process&lt;/b&gt; tab, Visio uses the validation logic provided to determine whether the diagram has issues. In Visio 2010, this technique is used for the Basic Flowchart, Cross Functional Flowchart and Business Process Modeling Notation templates. &lt;/p&gt;  &lt;p&gt;2. You can also write validation logic in code and deploy this logic as part of a Visio solution. For this approach, the solution code listens for the appropriate RuleSetValidated event and uses its own logic to determine the list of issues to add to the document. In Visio 2010, this technique is used for the Microsoft SharePoint Workflow template. &lt;/p&gt;  &lt;p&gt;In both cases, the validation rules and corresponding rule sets are stored inside your Visio file. To see how these rules are stored, you can save a Visio file with validation rules as an XML Drawing (*.vdx) and open the XML Drawing in an XML editor. A search using the keyword “validation” will lead you to the XML related to validation. In the image below, a section of the XML for the Flowchart rule set is shown. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/CreatingcustomvalidationrulesforVisio201_82E3/ValidationXML_2.png"&gt;&lt;img title="ValidationXML" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="170" alt="ValidationXML" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/CreatingcustomvalidationrulesforVisio201_82E3/ValidationXML_thumb.png" width="629" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Notice that each rule in the Flowchart rule set contains a RuleFilter and RuleTest property. These properties define the logic that Visio uses to determine whether a rule applies to a particular Visio object, and whether the rule is satisfied by the object. The syntax for each logic expression is the same as a ShapeSheet expression, but the allowable functions differ slightly. You can see many examples of valid RuleFilter and RuleTest expressions in our Flowchart and BPMN rule sets.&lt;/p&gt;  &lt;p&gt;If you save a Microsoft SharePoint Workflow diagram as an XML Drawing (*.vdx) and open the XML Drawing in an XML editor, you will see that there is no logic in the RuleFilter and RuleTest expressions. In this case, the solution contains code with the validation logic. The SharePoint Workflow solution listens for the SharePoint Workflow RuleSetValidated event, and, when this event occurs, it scans the diagram to determine if there are issues. When an issue is found, it uses the validation API to add the issue to the document. Visio automatically displays these issues in the &lt;b&gt;Issues Window&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/CreatingcustomvalidationrulesforVisio201_82E3/ValidationXML-2_2.png"&gt;&lt;img title="ValidationXML-2" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="149" alt="ValidationXML-2" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/CreatingcustomvalidationrulesforVisio201_82E3/ValidationXML-2_thumb.png" width="947" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Although you can modify the validation properties directly in the XML, we suggest that developers use the validation API to manipulate rules programmatically. You can use Visual Basic for Applications, accessible through the &lt;a href="http://blogs.msdn.com/visio/archive/2009/09/02/the-developer-tab-in-visio-2010.aspx"&gt;&lt;b&gt;Developer&lt;/b&gt; tab&lt;/a&gt;&lt;b&gt;, &lt;/b&gt;and its Object Browser to view the validation API. The key objects, methods and properties for validation are shown below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/CreatingcustomvalidationrulesforVisio201_82E3/ValidationAPI_2.png"&gt;&lt;img title="ValidationAPI" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="229" alt="ValidationAPI" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/CreatingcustomvalidationrulesforVisio201_82E3/ValidationAPI_thumb.png" width="540" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;There is a lot more that can be said about creating custom validation rules, but hopefully this post gives you a good sense of the options available for using Diagram Validation. The following list summarizes these options.&lt;/p&gt;  &lt;p&gt;1. End-users and companies can use the default rules provide in Visio 2010 to check their diagrams for issues and ensure diagram consistency. Out-of-the box support is included for Basic Flowchart, Cross Functional Flowchart, Microsoft SharePoint Workflow and Business Process Modeling Notation diagrams.&lt;/p&gt;  &lt;p&gt;2. Developers can extend the out-of-box support by creating custom templates with validation rules. These rules are available to users who create diagrams from these templates.&lt;/p&gt;  &lt;p&gt;3. Developers can create Visio solutions that listen for the validation event. When the &lt;b&gt;Check Diagram&lt;/b&gt; button is clicked, the solution can run code to validate complex logic and use the validation API to add issues to the list of issues displayed in the &lt;b&gt;Issues Window&lt;/b&gt;. &lt;/p&gt;  &lt;p&gt;4. Developers can create Visio solutions that trigger validation from within their code. This allows solutions to make use of validation without relying on a click of the &lt;b&gt;Check Diagram&lt;/b&gt; button. For example, the Microsoft SharePoint Workflow template triggers validation when a user clicks the SharePoint Workflow button &lt;b&gt;Export&lt;/b&gt; on the &lt;b&gt;Process&lt;/b&gt; tab.&lt;/p&gt;  &lt;p&gt;We’re interested to hear your feedback, so use the &lt;a href="http://blogs.technet.com/office2010/archive/2009/07/15/tell-us-what-you-think-about-office-2010-technical-preview.aspx"&gt;Send a Smile feedback tool&lt;/a&gt; or comment on this post to let us know what you think. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9893735" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/visio/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/visio/archive/tags/All+Posts/default.aspx">All Posts</category><category domain="http://blogs.msdn.com/visio/archive/tags/Visio+2010/default.aspx">Visio 2010</category></item><item><title>The Developer tab in Visio 2010</title><link>http://blogs.msdn.com/visio/archive/2009/09/02/the-developer-tab-in-visio-2010.aspx</link><pubDate>Thu, 03 Sep 2009 04:22:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9890673</guid><dc:creator>Visio Team</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/visio/comments/9890673.aspx</comments><wfw:commentRss>http://blogs.msdn.com/visio/commentrss.aspx?PostID=9890673</wfw:commentRss><description>&lt;p&gt;Visio has long had a setting called “developer mode” that developers and shape designers can enable in order to surface extra functionality. In previous versions of Visio, enabling developer mode made new items appear in couple of different menus (Chris Roth has a good overview &lt;a href="http://www.visguy.com/2008/08/04/top-9-reasons-for-turning-on-developer-mode/"&gt;here&lt;/a&gt;). With Visio 2010, we have taken advantage of our &lt;a href="http://blogs.msdn.com/visio/archive/2009/08/12/the-office-fluent-ui-in-the-visio-2010-technical-preview.aspx"&gt;new Fluent user interface&lt;/a&gt; by grouping this extra functionality into one Ribbon tab named “Developer”. The result is one central location for working with code and designing shapes in Visio:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/TheDeveloperTabinVisio2010_F53D/image5.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/TheDeveloperTabinVisio2010_F53D/image5_thumb.png" width="754" height="100" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h1&gt;&lt;/h1&gt;  &lt;h2&gt;Enabling the Developer Tab&lt;/h2&gt;  &lt;p&gt;The developer tab does not appear by default, since we want to provide a streamlined interface for users who do not need it. To surface the Developer tab, click on the Backstage Button, and click on Options. This brings up the Visio Options dialog. Click on the Customize Ribbon section. On the right-hand side, check the box that says “Developer” and press OK.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/TheDeveloperTabinVisio2010_F53D/Visio%20Options%20Beta1.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Visio Options Beta1" border="0" alt="Visio Options Beta1" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/TheDeveloperTabinVisio2010_F53D/Visio%20Options%20Beta1_thumb.png" width="593" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;(Note: an alternate method is to go to the Advanced section in Visio Options and check the box at the bottom that says, “Run in developer mode”.)&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h2&gt;Organization of the Developer tab&lt;/h2&gt;  &lt;p&gt;Here is an overview of how the Developer tab is organized, group by group.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h3&gt;Code &amp;amp; Controls&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/TheDeveloperTabinVisio2010_F53D/image10.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/TheDeveloperTabinVisio2010_F53D/image10_thumb.png" width="754" height="100" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;These two leftmost groups are common across many Office applications. Use them to work with Visual Basic code and ActiveX controls. Note that the Macros button is also available in the Ribbon’s View tab, so users who do not have developer mode turned on can still access this button.&lt;/p&gt;  &lt;h3&gt;Shape Design&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/TheDeveloperTabinVisio2010_F53D/image14.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/TheDeveloperTabinVisio2010_F53D/image14_thumb.png" width="754" height="100" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This group contains functions used when designing shapes.&lt;/p&gt;  &lt;p&gt;Clicking on the top part of the Show ShapeSheet button opens the selected shape’s ShapeSheet. (You can read more about the ShapeSheet in &lt;a href="http://blogs.msdn.com/visio/archive/2006/06/16/624406.aspx"&gt;a previous post&lt;/a&gt;.) Clicking on the bottom part of this button lets you choose to instead view the ShapeSheet for the active page or the active document. This makes these ShapeSheets easier to access than they were in previous versions of Visio.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/TheDeveloperTabinVisio2010_F53D/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/TheDeveloperTabinVisio2010_F53D/image_thumb.png" width="121" height="144" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The geometry tool is a split button that contains different drawing tools. Note that although a similar button is available on the Home tab, that button only contains the Rectangle, Ellipse, and Line tools, and not the Freeform, Arc, and Pencil tools.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/TheDeveloperTabinVisio2010_F53D/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/TheDeveloperTabinVisio2010_F53D/image_thumb_1.png" width="116" height="162" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Clicking on the Shape Name button will open up the dialog that in previous versions of Visio was available under “Format &amp;gt; Special” (this dialog box has been renamed “Shape Name” to better reflect its purpose):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/TheDeveloperTabinVisio2010_F53D/Shape%20Name_1.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Shape Name" border="0" alt="Shape Name" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/TheDeveloperTabinVisio2010_F53D/Shape%20Name_thumb_1.png" width="384" height="413" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The Behavior and Protection dialogs that were previously in the Format menu are in the Shape Design group now:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/TheDeveloperTabinVisio2010_F53D/Shape%20Design%20Group.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Shape Design Group" border="0" alt="Shape Design Group" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/TheDeveloperTabinVisio2010_F53D/Shape%20Design%20Group_thumb.png" width="275" height="95" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Stencil&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/TheDeveloperTabinVisio2010_F53D/image18.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/TheDeveloperTabinVisio2010_F53D/image18_thumb.png" width="754" height="100" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This group lets you create a new metric or US stencil.&lt;/p&gt;  &lt;h3&gt;Show/Hide&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/TheDeveloperTabinVisio2010_F53D/image22.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/visio/WindowsLiveWriter/TheDeveloperTabinVisio2010_F53D/image22_thumb.png" width="754" height="100" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This group lets you toggle the view of the document stencil, drawing explorer window, and master explorer window.&lt;/p&gt;  &lt;h2&gt;Conclusion&lt;/h2&gt;  &lt;p&gt;We hope the Developer tab makes your development and shape design tasks more convenient. We’re interested to hear your feedback, so use the &lt;a href="http://blogs.technet.com/office2010/archive/2009/07/15/tell-us-what-you-think-about-office-2010-technical-preview.aspx"&gt;Send a Smile feedback tool&lt;/a&gt; or comment on this post to let us know what you think.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9890673" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/visio/archive/tags/Shape+Design/default.aspx">Shape Design</category><category domain="http://blogs.msdn.com/visio/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/visio/archive/tags/All+Posts/default.aspx">All Posts</category><category domain="http://blogs.msdn.com/visio/archive/tags/Visio+2010/default.aspx">Visio 2010</category></item><item><title>Update: Visio 2007 Service Pack 2 and Visio Conference 2008</title><link>http://blogs.msdn.com/visio/archive/2009/05/11/follow-up-visio-2007-service-pack-2-and-visio-conference-2008.aspx</link><pubDate>Tue, 12 May 2009 01:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9604830</guid><dc:creator>Visio Team</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/visio/comments/9604830.aspx</comments><wfw:commentRss>http://blogs.msdn.com/visio/commentrss.aspx?PostID=9604830</wfw:commentRss><description>&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;A few updates…&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;XMI Export&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;We recently &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;A href="http://blogs.msdn.com/visio/archive/2009/04/29/service-pack-2-released-for-visio-2007.aspx"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: blue"&gt;reported&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt; the availability of Service Pack 2 (SP2) for Visio 2007.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We received a few questions about how to use the XMI export feature in UML diagrams.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The behavior in SP2 is exactly the same as in previous versions.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Integrating it into the UML solution and retiring the separate download should make life easier for everyone, including us!&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The following VBA example demonstrates the interface:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Application.Addons("UML Background Add-on").Run("/CMD=400 /XMIFILE=""C:\path\file.xmi""")&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;The XMI export acts on the active document, so be sure to set that if your application session has multiple documents open.&amp;nbsp; If you’re not familiar with VBA, the extra quotation marks in the XMIFILE argument are used to escape the quote character – the value passed in must be wrapped in quotes.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Visio Conference 2008 Videos&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;Last year, we &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;A href="http://blogs.msdn.com/visio/archive/2008/05/21/visio-conference-2008-videos-posted.aspx"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: blue"&gt;posted&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt; links to videos from the Visio Conference 2008, where we shared a few glimpses into the next version of Visio.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The links have changed – replace the &lt;I style="mso-bidi-font-style: normal"&gt;visioconference2008&lt;/I&gt; part of the URL with &lt;I style="mso-bidi-font-style: normal"&gt;visio2008&lt;/I&gt; to get to the video site.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Note that some of the videos are quite large and can take a bit to download.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9604830" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/visio/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/visio/archive/tags/Visio+2007/default.aspx">Visio 2007</category><category domain="http://blogs.msdn.com/visio/archive/tags/All+Posts/default.aspx">All Posts</category><category domain="http://blogs.msdn.com/visio/archive/tags/Visio+vNext/default.aspx">Visio vNext</category><category domain="http://blogs.msdn.com/visio/archive/tags/Visio+2010/default.aspx">Visio 2010</category></item><item><title>Developer Reference for Visio 2007 Viewer released</title><link>http://blogs.msdn.com/visio/archive/2009/01/14/developer-reference-for-visio-2007-viewer-released.aspx</link><pubDate>Thu, 15 Jan 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9319813</guid><dc:creator>Visio Team</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/visio/comments/9319813.aspx</comments><wfw:commentRss>http://blogs.msdn.com/visio/commentrss.aspx?PostID=9319813</wfw:commentRss><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;T&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;he Visio 2007 Viewer Developer Reference is up on MSDN and can be accessed at: &lt;A href="http://msdn.microsoft.com/en-us/library/cc297217.aspx"&gt;http://msdn.microsoft.com/en-us/library/cc297217.aspx&lt;/A&gt;. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;The reference includes the full API reference and some short samples on how to embedded the viewer in different environments.&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;The Viewer provides an application programming interface (API) that enables solution developers to perform the following tasks:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Load and unload Visio drawings 
&lt;LI&gt;Select shapes 
&lt;LI&gt;Follow hyperlinks 
&lt;LI&gt;Display Viewer dialog boxes to the user 
&lt;LI&gt;Customize the size and position of the Viewer window 
&lt;LI&gt;Customize the user interface by changing foreground and background colors and displaying or hiding the grid and the scrollbars 
&lt;LI&gt;Control the color and transparency of layers in the drawing 
&lt;LI&gt;Control the color and visibility of reviewer markups (comments) 
&lt;LI&gt;Customize the toolbar by adding or removing buttons 
&lt;LI&gt;Respond to user actions in the Viewer interface&lt;/LI&gt;&lt;/UL&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9319813" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/visio/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/visio/archive/tags/Visio+2007/default.aspx">Visio 2007</category><category domain="http://blogs.msdn.com/visio/archive/tags/All+Posts/default.aspx">All Posts</category></item><item><title>Visio Conference 2008 videos posted</title><link>http://blogs.msdn.com/visio/archive/2008/05/21/visio-conference-2008-videos-posted.aspx</link><pubDate>Wed, 21 May 2008 20:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8528595</guid><dc:creator>Visio Team</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/visio/comments/8528595.aspx</comments><wfw:commentRss>http://blogs.msdn.com/visio/commentrss.aspx?PostID=8528595</wfw:commentRss><description>&lt;P&gt;For anyone who wasn't able to attend the Visio Conference 2008 this February or has been itching to show everyone else the cool things coming in Visio "vNext", the wait is over!&amp;nbsp; Videos from all the conference sessions are posted on &lt;A href="http://www.visiotoolbox.com/"&gt;http://www.visiotoolbox.com&lt;/A&gt;.&amp;nbsp; Click on the conference link in the bottom-right corner of the page - or follow the links below.&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://officeblogs.net/visio/VisioConference2008.gif" mce_src="http://officeblogs.net/visio/VisioConference2008.gif"&gt;&lt;/P&gt;
&lt;P&gt;Each session consists of the PowerPoint slide deck, speaker audio and video of the demos.&amp;nbsp; Use the links below to jump to the sessions for each track:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Keynotes - &lt;A href="http://www.visiotoolbox.com/visioconference2008/Keynotes/start.htm"&gt;http://www.visiotoolbox.com/visioconference2008/Keynotes/start.htm&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;General Sessions - &lt;A href="http://www.visiotoolbox.com/visioconference2008/GeneralSessions/start.htm"&gt;http://www.visiotoolbox.com/visioconference2008/GeneralSessions/start.htm&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Solutions Track&amp;nbsp;- &lt;A href="http://www.visiotoolbox.com/visioconference2008/BusinessSolutions/start.htm"&gt;http://www.visiotoolbox.com/visioconference2008/BusinessSolutions/start.htm&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Developer Track - &lt;A href="http://www.visiotoolbox.com/visioconference2008/SolutionDevelopment/start.htm"&gt;http://www.visiotoolbox.com/visioconference2008/SolutionDevelopment/start.htm&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;End User Track - &lt;A href="http://www.visiotoolbox.com/visioconference2008/EndUser/start.htm"&gt;http://www.visiotoolbox.com/visioconference2008/EndUser/start.htm&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For those specifically interested in Visio "vNext", here are the four sessions where we demonstrated some of the capabilities coming next release:&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://www.visiotoolbox.com/visioconference2008/Keynotes/presentations/01-VisualizingInformationWorkToday_Tomorrow.htm" mce_href="http://www.visiotoolbox.com/visioconference2008/Keynotes/presentations/01-VisualizingInformationWorkToday_Tomorrow.htm"&gt;Visualizing Information Work Today &amp;amp; Tomorrow - Jeff Raikes keynote&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://www.visiotoolbox.com/visioconference2008/Keynotes/presentations/08%20-%20The%20Visio%20Business%20Today%20and%20Software%20Product%20Development%20Process.htm" mce_href="http://www.visiotoolbox.com/visioconference2008/Keynotes/presentations/08%20-%20The%20Visio%20Business%20Today%20and%20Software%20Product%20Development%20Process.htm"&gt;The Visio Business Today and Software Development Process - Richard Wolf keynote&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://www.visiotoolbox.com/visioconference2008/GeneralSessions/presentations/04%20-%20Visio%20Future%20Investments.htm" mce_href="http://www.visiotoolbox.com/visioconference2008/GeneralSessions/presentations/04%20-%20Visio%20Future%20Investments.htm"&gt;Visio Future Investments - Bill Morein&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://www.visiotoolbox.com/visioconference2008/SolutionDevelopment/presentations/09%20-%20Visio%20Futures%20-API%20Insights.htm" mce_href="http://www.visiotoolbox.com/visioconference2008/SolutionDevelopment/presentations/09%20-%20Visio%20Futures%20-API%20Insights.htm"&gt;Visio Futures - API Insights - John Haug and Philippe Arida&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Troubleshooting&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;You should be able to click on a link and then click on Play.&amp;nbsp; The videos take a varying amount of time to load - a few minutes in some cases.&amp;nbsp; If you find that the UI frame&amp;nbsp;around the slides / video is missing, try refreshing the web page.&amp;nbsp; This will reload the controls but the session will resume playing where you left off.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8528595" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/visio/archive/tags/General+Usage/default.aspx">General Usage</category><category domain="http://blogs.msdn.com/visio/archive/tags/Shape+Design/default.aspx">Shape Design</category><category domain="http://blogs.msdn.com/visio/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/visio/archive/tags/All+Posts/default.aspx">All Posts</category><category domain="http://blogs.msdn.com/visio/archive/tags/Visio+vNext/default.aspx">Visio vNext</category><category domain="http://blogs.msdn.com/visio/archive/tags/Visio+2010/default.aspx">Visio 2010</category></item><item><title>CAD Integration Announcement for Visio &amp;quot;vNext&amp;quot;</title><link>http://blogs.msdn.com/visio/archive/2008/02/07/cad-integration-announcement-for-visio-vnext.aspx</link><pubDate>Thu, 07 Feb 2008 13:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7509537</guid><dc:creator>Visio Team</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/visio/comments/7509537.aspx</comments><wfw:commentRss>http://blogs.msdn.com/visio/commentrss.aspx?PostID=7509537</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;This morning at Day 2 of Visio Conference 2008, we announced that the &lt;STRONG&gt;next version of Visio will add support for&amp;nbsp;AutoCAD 2007 DWG&lt;/STRONG&gt; and DXF file formats.&amp;nbsp; As mentioned in &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/visio/archive/2008/01/11/cad-integration-in-visio-part-2.aspx"&gt;&lt;FONT face=Calibri size=3&gt;previous blog posts&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;, this was a major request from Visio&amp;nbsp;customers and partners.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;General Manager Richard Wolf explained in his keynote address how Visio prioritizes&amp;nbsp;feature investments that improve the entire Visio platform over changes that enhance just a single vertical market.&amp;nbsp;&amp;nbsp;CAD integration is&amp;nbsp;valuable to a broad set of customers&amp;nbsp;spanning the Engineering, Facilities Management and Information Technology markets.&amp;nbsp; Richard then demonstrated an example of&amp;nbsp;inserting&amp;nbsp;an AutoCAD 2007 floorplan of a data center, overlaying&amp;nbsp;Visio server shapes, adding Data Graphics to show&amp;nbsp;cabinet temperatures and then publishing the diagram&amp;nbsp;to Visio Services for display in a web dashboard.&amp;nbsp; Thus, while CAD integration does not fall under&amp;nbsp;the &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/visio/archive/2008/02/06/visio-vnext.aspx"&gt;&lt;FONT face=Calibri size=3&gt;three&amp;nbsp;investment areas&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;described on Day 1, it was high on the team's priority list for Visio "vNext" given the applicability to data visualization scenarios across several diagram types.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 600px; HEIGHT: 450px" height=450 src="http://officeblogs.net/visio/ConferenceDay2-020608.jpg" width=600 mce_src="http://officeblogs.net/visio/ConferenceDay2-020608.jpg"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Day 2 also featured demonstrations of new capabilities for developers and shape designers:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN: 0in 0in 0pt"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;RibbonX&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Visio "vNext" adds support for RibbonX, the API for the Office Fluent user interface.&amp;nbsp; Existing Visio solutions with custom UI will work unmodified in the Ribbon, but solutions can use RibbonX for a much richer integration into the Ribbon.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN: 0in 0in 0pt"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Structured Diagrams&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Visio "vNext" allows solution developers to work with Visio diagrams at a logical level instead of at the physical level.&amp;nbsp; Visio exposes relationships between shapes that can be discovered and traversed to simplify the understanding of the diagram structure.&amp;nbsp; Three common relationships are defined: connectivity, containment and callouts.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN: 0in 0in 0pt"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Visio Services API&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Visio "vNext" provides a JavaScript API for accessing and enhancing diagrams rendered by Visio Services.&amp;nbsp; Web page scripts can extract information about the shapes displayed in the diagram for&amp;nbsp;use&amp;nbsp;in another frame.&amp;nbsp; Scripts can also highlight shapes, place overlays on shapes and manipulate the diagram's viewport for pan and zoom.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt" mce_keep="true"&gt;&lt;FONT face=Calibri size=3&gt;The&amp;nbsp;feedback received over the last two days at the Visio Conference has been tremendous.&amp;nbsp; We're happy to see people so enthusiastic about our Visio "vNext" plans.&amp;nbsp; There is still much work to be done, and we hope that the Visio community will continue providing feedback as we disclose more over time.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7509537" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/visio/archive/tags/General+Usage/default.aspx">General Usage</category><category domain="http://blogs.msdn.com/visio/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/visio/archive/tags/All+Posts/default.aspx">All Posts</category><category domain="http://blogs.msdn.com/visio/archive/tags/Visio+vNext/default.aspx">Visio vNext</category><category domain="http://blogs.msdn.com/visio/archive/tags/Visio+2010/default.aspx">Visio 2010</category></item><item><title>Publishing Visio 2007 Solutions</title><link>http://blogs.msdn.com/visio/archive/2007/09/14/publishing-visio-2007-solutions.aspx</link><pubDate>Fri, 14 Sep 2007 10:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4896535</guid><dc:creator>Visio Team</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/visio/comments/4896535.aspx</comments><wfw:commentRss>http://blogs.msdn.com/visio/commentrss.aspx?PostID=4896535</wfw:commentRss><description>&lt;P&gt;Saul Candib, our technical writer for Visio, has posted an excellent &lt;A class="" title="article on MSDN" href="http://msdn2.microsoft.com/en-us/library/bb677166.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/bb677166.aspx"&gt;article on MSDN&lt;/A&gt; explaining how to publish Visio 2007 solutions.&amp;nbsp; In this context "solutions" refers to&amp;nbsp;the add-ons, templates, stencils and/or help files that you have created and want to distribute to other people.&lt;/P&gt;
&lt;P&gt;We covered this topic in a &lt;A class="" title="previous post" href="http://blogs.msdn.com/visio/archive/2006/08/08/691363.aspx" mce_href="http://blogs.msdn.com/visio/archive/2006/08/08/691363.aspx"&gt;previous post&lt;/A&gt;, but the MSDN article goes into greater depth.&amp;nbsp; Saul describes the basic options of using path discovery (the classic way Visio content is found and usable in the application) or publishing content using Windows Installer (the method introduced in Visio 2003).&amp;nbsp; There is a good summary of the benefits of using Windows Installer, which is repeated here:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;By publishing content, you can better integrate it into Visio. For example, you can more easily control the location of menu commands that start your solution or open your stencils, how the commands are named, and when they are available to users.&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;By publishing content, you can more easily publish localized versions of your solutions together with the Windows Multilingual User Interface Pack (MUI). (The MUI is a set of language-specific resource files that allow the user interface language to be changed, according to the preferences of individual users, to one of the 33 supported languages.) &lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;Published content offers better performance, because published information is stored in the registry, where it can be retrieved more rapidly.&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;The Windows Installer Setup wizard is familiar to users and easy to use.&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;By publishing content, you benefit from Windows Installer repair and add-and-remove software features.&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;Publishing your content makes it available to all users of computers with multiple users. Path discovery works only for individual users.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The bulk of the article explains in detail how to do publishing with Windows Installer.&amp;nbsp; There are a number of steps and tools involved, so you should find this write-up quite valuable.&amp;nbsp; The article is written for Visio 2007, but much of the information is applicable to Visio 2003.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4896535" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/visio/archive/tags/Shape+Design/default.aspx">Shape Design</category><category domain="http://blogs.msdn.com/visio/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/visio/archive/tags/Visio+2007/default.aspx">Visio 2007</category><category domain="http://blogs.msdn.com/visio/archive/tags/All+Posts/default.aspx">All Posts</category></item><item><title>New resources for Visio</title><link>http://blogs.msdn.com/visio/archive/2007/04/17/new-resources-for-visio.aspx</link><pubDate>Tue, 17 Apr 2007 10:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2156233</guid><dc:creator>Visio Team</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/visio/comments/2156233.aspx</comments><wfw:commentRss>http://blogs.msdn.com/visio/commentrss.aspx?PostID=2156233</wfw:commentRss><description>&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;Our MVP community has been quite busy creating new resouces for Visio.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We'd like to highlight a few recent releases here.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;In response to a newsgroup discussion on Visio's Network Rack shapes. Chris Roth (Visio MVP and former employee) has released a new shape for displaying &lt;STRONG&gt;rack unit dimensions&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;A href="http://www.visguy.com/2007/04/01/rack-unit-dimension-line/"&gt;http://www.visguy.com/2007/04/01/rack-unit-dimension-line/&lt;/A&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;Second, the latest version of the &lt;STRONG&gt;Work Breakdown Structure (WBS) Modeler add-in&lt;/STRONG&gt; has been released.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;To quote from the add-in description:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;"The Microsoft Office Visio 2007 WBS Modeler is intended to improve the project planning process by giving the opportunity to generate Project Plans from a Work Breakdown Structure (WBS) using a graphical representation of elements.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;The Application enables effective integration of Microsoft Office Visio 2007 with Microsoft Office Project 2007. It provides an approach to visually and graphically create, edit and modify project plans using Visio 2007."&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=34c28a49-e14c-4a7d-8d49-90061fe08ab4&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=34c28a49-e14c-4a7d-8d49-90061fe08ab4&amp;amp;DisplayLang=en&lt;/A&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;Finally, there are &lt;STRONG&gt;new training materials&lt;/STRONG&gt; for Visio 2007 solution development.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Here is the summary for the download:&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;"Gain deeper technical skills around Visio 2007 solution development. The Visio 2007 Solution Development Workshop is a free to download, self paced instructional guide covering the concepts and techniques needed to develop Visio based data visualization solutions. The content of this workshop maps to the main themes of the upcoming Visio MCP examination, makes for an excellent readiness resource and provides partners with the skills to start build data Visualization solutions today."&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=332c211e-581e-4029-9839-8f45de10b4c2&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=332c211e-581e-4029-9839-8f45de10b4c2&amp;amp;DisplayLang=en&lt;/A&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2156233" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/visio/archive/tags/General+Usage/default.aspx">General Usage</category><category domain="http://blogs.msdn.com/visio/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/visio/archive/tags/Visio+2007/default.aspx">Visio 2007</category><category domain="http://blogs.msdn.com/visio/archive/tags/All+Posts/default.aspx">All Posts</category></item><item><title>Creating Visio Add-ins with VSTO 2005 SE</title><link>http://blogs.msdn.com/visio/archive/2007/04/13/creating-visio-add-ins-with-vsto-2005-se.aspx</link><pubDate>Sat, 14 Apr 2007 03:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2122765</guid><dc:creator>Visio Team</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/visio/comments/2122765.aspx</comments><wfw:commentRss>http://blogs.msdn.com/visio/commentrss.aspx?PostID=2122765</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;There have been several newsgroup postings about using VSTO to create Visio Add-ins.&amp;nbsp; The deployment of these add-ins can be especially challenging.&amp;nbsp; There is a new &lt;/FONT&gt;&lt;/o:p&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;developer article by Chris Castillo detailing how to&amp;nbsp;write VSTO add-ins for Visio.&amp;nbsp; Chris explains why using VSTO is desirable and&amp;nbsp;aggregates information from a&amp;nbsp;number of sources to walk you through the development and deployment process.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;A href="http://blogs.msdn.com/chcast/archive/2007/03/28/creating-visio-add-ins-with-vsto-2005-se.aspx"&gt;http://blogs.msdn.com/chcast/archive/2007/03/28/creating-visio-add-ins-with-vsto-2005-se.aspx&lt;/A&gt;.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2122765" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/visio/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/visio/archive/tags/All+Posts/default.aspx">All Posts</category></item><item><title>Microsoft Office Visio 2007 Released</title><link>http://blogs.msdn.com/visio/archive/2006/12/01/microsoft-office-visio-2007-released.aspx</link><pubDate>Sat, 02 Dec 2006 02:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1187135</guid><dc:creator>Visio Team</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/visio/comments/1187135.aspx</comments><wfw:commentRss>http://blogs.msdn.com/visio/commentrss.aspx?PostID=1187135</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Yesterday Visio 2007 was made available to business customers along with the rest of the 2007 Office System.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Retail availability for Visio 2007 will be January 30, 2007.&lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT size=4&gt;&lt;FONT color=#4f81bd&gt;&lt;FONT face=Cambria&gt;What’s so great about Visio 2007?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Our primary investment focuses on &lt;B style="mso-bidi-font-weight: normal"&gt;visualizing business information&lt;/B&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We’ve made it significantly easier to bring your business data into Visio and visualize it in a diagram.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Data Link&lt;/B&gt; is a new feature that imports data from external sources and associates that data with individual shapes in the drawing.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Data Graphics&lt;/B&gt; is a new feature that surfaces your data in graphical ways.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Combined with the ability to refresh from the data source, these features turn your Visio diagram into a living document.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /&gt;&lt;v:shapetype id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"&gt;&lt;/v:path&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:lock aspectratio="t" v:ext="edit"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;IMG title="Data Link and Data Graphics" style="WIDTH: 671px; HEIGHT: 540px" height=540 alt="Data Link and Data Graphics" src="http://officeblogs.net/visio/VisioRelease1-120106.png" width=671 mce_src="http://officeblogs.net/visio/VisioRelease1-120106.png"&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;While Data Link helps you add data to your existing diagram, Visio 2007 introduces a new drawing type called &lt;B style="mso-bidi-font-weight: normal"&gt;PivotDiagrams&lt;/B&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Similar in concept to Excel PivotTables, PivotDiagrams dynamically present tabular data in a hierarchical form.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;By pivoting on different columns in the data, the diagram changes to aggregate information based on the breakdown specified.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;PivotDiagrams are a great way to explore large data sets and present meaningful information visually.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG title=PivotDiagram style="WIDTH: 751px; HEIGHT: 438px" height=438 alt=PivotDiagram src="http://officeblogs.net/visio/VisioRelease2-120106.png" width=751 mce_src="http://officeblogs.net/visio/VisioRelease2-120106.png"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Visio 2007 also makes it easy to communicate with your audience.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;A new &lt;B style="mso-bidi-font-weight: normal"&gt;Themes&lt;/B&gt; feature provides one click formatting to drawings, giving them a professional appearance.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Publish as PDF or XPS&lt;/B&gt; lets you distribute diagrams in a fixed format.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Also Outlook 2007 has the Visio Viewer built right in.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Sharing Visio drawings has never been easier.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#4f81bd size=4&gt;Links to More Information&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;There’s much more to this release, and there are a number of resources already available to showcase what’s new.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Start with Microsoft Office Online and then look at MSDN and the other Visio blogs.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Visio page on Office Online - &lt;/FONT&gt;&lt;A href="http://office.microsoft.com/en-us/visio/default.aspx"&gt;&lt;FONT face=Calibri size=3&gt;http://office.microsoft.com/en-us/visio/default.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;There are some great videos on the site demonstrating many of the new features:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Video demos - &lt;/FONT&gt;&lt;A href="http://office.microsoft.com/en-us/visio/CH100740891033.aspx?pid=CL100729281033"&gt;&lt;FONT face=Calibri size=3&gt;http://office.microsoft.com/en-us/visio/CH100740891033.aspx?pid=CL100729281033&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;For shape designers and developers, look for information on MSDN.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;There are some good technical articles explaining what is new in automation and how to make use of the new features.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;MSDN Visio site – &lt;/FONT&gt;&lt;A href="http://msdn2.microsoft.com/en-us/office/aa905480.aspx"&gt;&lt;FONT face=Calibri size=3&gt;http://msdn2.microsoft.com/en-us/office/aa905480.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Visio 2007 SDK - &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=772ccdd1-7d06-4cc4-8ecd-de5864428c26&amp;amp;DisplayLang=en"&gt;&lt;FONT face=Calibri size=3&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=772ccdd1-7d06-4cc4-8ecd-de5864428c26&amp;amp;DisplayLang=en&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Eric Rockey, Lead Program Manager for Visio 2007, has a blog previewing many of the new Visio 2007 features.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Eric Rockey’s Visio 12 blog - &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/eric_rockey"&gt;&lt;FONT face=Calibri size=3&gt;http://blogs.msdn.com/eric_rockey&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Bill Morein, Program Manager for Visio 2007, has a blog covering data visualization for Visio and includes several posts about the Visio 2007 feature set.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Bill Morein’s Data Visualization blog - &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/wmorein"&gt;&lt;FONT face=Calibri size=3&gt;http://blogs.msdn.com/wmorein&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Finally, stay tuned to Visio Insights for more information about Visio 2007.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;There’s quite a bit to cover.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1187135" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/visio/archive/tags/General+Usage/default.aspx">General Usage</category><category domain="http://blogs.msdn.com/visio/archive/tags/Shape+Design/default.aspx">Shape Design</category><category domain="http://blogs.msdn.com/visio/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/visio/archive/tags/Visio+2007/default.aspx">Visio 2007</category><category domain="http://blogs.msdn.com/visio/archive/tags/All+Posts/default.aspx">All Posts</category></item><item><title>Smarter Paste between Pages</title><link>http://blogs.msdn.com/visio/archive/2006/11/14/smarter-paste-between-pages.aspx</link><pubDate>Tue, 14 Nov 2006 11:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1071775</guid><dc:creator>Visio Team</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/visio/comments/1071775.aspx</comments><wfw:commentRss>http://blogs.msdn.com/visio/commentrss.aspx?PostID=1071775</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;The Visio Product Team uses Visio for a number of tasks.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;A common task is creating storyboards to show how a user might construct a diagram.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If you’ve ever seen one of those “behind the scenes” documentaries for a movie, you’ve seen the storyboarding process.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Each step the user takes is captured on a separate page in a Visio drawing.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Then the entire document is shown as a presentation to replay the construction of the diagram.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;It seems that quite a few people use Visio for this sort of task.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Visio is a pretty good tool for mocking up application or web interfaces.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;One common request is to make copying between pages work better.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In these types of documents, each page is almost identical to the one before it.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;One of the nicer touches in PowerPoint is that objects copied from one page (slide) to another are pasted in exactly the same position.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In Visio objects are pasted to the center of the screen making repositioning a chore.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Visio needs a smarter paste behavior.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;A little bit of code can solve the problem for Visio.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Actually, there are two ways to solve the problem.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;You could write your own procedures to perform copy and paste with better logic for positioning.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Alternatively, you could handle the event notifications from Visio when copy and paste occur and fix up the positioning after the fact.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The attached Visio document has VBA code to illustrate both methods.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;&lt;FONT size=3&gt;Create your own copy / paste commands&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-weight: bold; mso-bidi-font-family: 'Times New Roman'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;&lt;FONT size=3&gt;When invoking Visio’s Copy and Paste command through automation, Visio allows you to specify whether the position of the selection on the page should be preserved using the visCopyPasteNoTranslate flag.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Thus you can create your own macros that do copy and paste:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;Public Sub CopyNoTranslate()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Application.ActiveWindow.Selection.Copy (visCopyPasteNoTranslate)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;End Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;Public Sub PasteNoTranslate()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Application.ActivePage.Paste (visCopyPasteNoTranslate)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;End Sub&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-weight: bold"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-weight: bold; mso-bidi-font-family: 'Times New Roman'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;&lt;FONT size=3&gt;In fact you can assign Ctrl-C and Ctrl-V as the accelerator keys for these macros to override Visio’s copy / paste.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If the real goal is to support copying to a new page, this macro will perform the necessary steps:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;Public Sub CopyToNewPage()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Dim vsoSelection As Visio.Selection&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;'Make sure we are in a drawing window&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;If Application.ActiveWindow.Type = Visio.VisWinTypes.visDrawing Then&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;'If there is no selection, select all shapes on the page&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Set vsoSelection = Application.ActiveWindow.Selection&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;vsoSelection.IterationMode = 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;If vsoSelection.Count = 0 Then&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;vsoSelection.SelectAll&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;End If&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;'Copy selection to new page&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;vsoSelection.Copy Visio.visCopyPasteNoTranslate&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Application.ActiveDocument.Pages.Add&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Application.ActivePage.Paste Visio.visCopyPasteNoTranslate&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;End If&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;End Sub&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-weight: bold; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;&lt;FONT size=3&gt;Respond to Visio’s copy / paste events&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-weight: bold; mso-bidi-font-family: 'Times New Roman'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;&lt;FONT size=3&gt;This method uses an event handler to detect copy and paste actions.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The position of the selection is read during the copy action.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The new position of the selection (which will be placed in the center of the window) is read during the paste action.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; The current page is recorded during each action as well.&amp;nbsp; If the copy and paste actions occur on different pages,&amp;nbsp;&lt;/SPAN&gt;the code moves the selection back to its previous coordinates following the paste action.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;Private Sub vsoApp_EnterScope(ByVal app As IVApplication, ByVal nScopeID As Long, ByVal bstrDescription As String)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;'Check for Copy action in a drawing window&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;If nScopeID = 1021 And app.ActiveWindow.Type = Visio.VisWinTypes.visDrawing Then&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Dim vsoSelection As Visio.Selection&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Set vsoSelection = app.ActiveWindow.Selection&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;If vsoSelection.Count &amp;gt; 0 Then&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;'Find the shape in the selection at the bottom of the z-order&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Dim bottomShape As Integer&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;bottomShape = GetBottomShape(vsoSelection)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;'Record scope ID and selection information&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;nCopyScopeID = nScopeID&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;gCopyPageID = app.ActivePage.PageSheet.UniqueID(Visio.visGetOrMakeGUID)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;dShapePosX = vsoSelection(bottomShape).CellsU("PinX").ResultIU&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dShapePosY = vsoSelection(bottomShape).CellsU("PinY").ResultIU&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;End If&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;End If&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;End Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;Private Sub vsoApp_ExitScope(ByVal app As IVApplication, ByVal nScopeID As Long, ByVal bstrDescription As String, ByVal bErrOrCancelled As Boolean)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;'Check for Paste action in a drawing window&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;If nScopeID = 1022 And app.ActiveWindow.Type = Visio.VisWinTypes.visDrawing Then&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;If nCopyScopeID &amp;lt;&amp;gt; 0 Then&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Dim vsoSelection As Visio.Selection&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Set vsoSelection = app.ActiveWindow.Selection&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Dim activePageID As String&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;activePageID = app.ActivePage.PageSheet.UniqueID(Visio.visGetOrMakeGUID)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;If vsoSelection.Count &amp;gt; 0 And gCopyPageID &amp;lt;&amp;gt; activePageID Then&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&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; &lt;/SPAN&gt;'Find the shape in the selection at the bottom of the z-order&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&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; &lt;/SPAN&gt;Dim bottomShape As Integer&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&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;&lt;/SPAN&gt;bottomShape = GetBottomShape(vsoSelection)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&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; &lt;/SPAN&gt;'Fix up position of selection by offsetting from the bottom shape&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&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; &lt;/SPAN&gt;Dim posX As Double, posY As Double&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&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; &lt;/SPAN&gt;posX = vsoSelection(bottomShape).CellsU("PinX").ResultIU&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&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; &lt;/SPAN&gt;posY = vsoSelection(bottomShape).CellsU("PinY").ResultIU&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&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; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&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; &lt;/SPAN&gt;vsoSelection.Move dShapePosX - posX, dShapePosY - posY&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&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; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;End If&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;End If&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;End If&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 0.5in"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'"&gt;End Sub&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-weight: bold"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-weight: bold; mso-bidi-font-family: 'Times New Roman'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;&lt;FONT size=3&gt;The full code for this method is found in the attached document.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We use the EnterScope and ExitScope events to detect the copy and paste actions.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The key problem to solve is recording the current position of the selected shapes. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Visio selections do not have coordinates associated with them, so the coordinates of one of the shapes within the selection must be used.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The trick is to make sure that the same shape is scanned in both the copy and paste actions.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Visio does not necessarily preserve the order of shapes in the selection during paste.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This code finds the bottommost shape in the z-order (layering order) to ensure that the same shape is scanned each time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-weight: bold; mso-bidi-font-family: 'Times New Roman'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;&lt;FONT size=3&gt;To use this method, open the SmartPaste.vsd file in Visio along with the other documents you are working on.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Once you enable macros for the file, SmartPaste will work with your regular Copy&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;and Paste actions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-weight: bold; mso-bidi-font-family: 'Times New Roman'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-weight: bold; mso-bidi-font-family: 'Times New Roman'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;&lt;FONT size=3&gt;If you find this type of behavior useful or find it counter-productive, please let us know.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1071775" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/visio/attachment/1071775.ashx" length="27136" type="application/octet-stream" /><category domain="http://blogs.msdn.com/visio/archive/tags/General+Usage/default.aspx">General Usage</category><category domain="http://blogs.msdn.com/visio/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/visio/archive/tags/All+Posts/default.aspx">All Posts</category></item><item><title>Master Benefits</title><link>http://blogs.msdn.com/visio/archive/2006/10/10/Master-Benefits.aspx</link><pubDate>Wed, 11 Oct 2006 04:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:815527</guid><dc:creator>Visio Team</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/visio/comments/815527.aspx</comments><wfw:commentRss>http://blogs.msdn.com/visio/commentrss.aspx?PostID=815527</wfw:commentRss><description>&lt;P&gt;One of the things we'd like to accomplish with this blog is to highlight&amp;nbsp;some performance optimizations that shape designers and developers should consider adopting as best practices.&amp;nbsp; Unfortunately designing highly efficient shapes and solutions is a bit of a black art in Visio.&amp;nbsp; Today we will look at the fundamental issue of using masters.&lt;/P&gt;
&lt;P&gt;Master shapes and instance shapes are described in &lt;A class="" href="http://blogs.msdn.com/visio/archive/2006/05/26/606632.aspx" mce_href="http://blogs.msdn.com/visio/archive/2006/05/26/606632.aspx"&gt;this post&lt;/A&gt;.&amp;nbsp; A master shape allows Visio to store a single copy of a shape definition and only manage the information that is different for each instance of a shape.&amp;nbsp; For many shapes, only the Shape Transform section of the Shapesheet is specific (or "local" as we call it) to each instance.&amp;nbsp; That section contains the PinX and PinY coordinates for the shape's location on the page.&amp;nbsp; As you modify a shape on the page, more Shapesheet cells take on custom values rather than inherit their values from the master shape.&amp;nbsp; Thus Visio requires more memory to manage this information.&lt;/P&gt;
&lt;P&gt;A masterless shape, such as a line or rectangle drawn with the drawing tools is essentially 100% local values.&amp;nbsp; That means Visio must store the complete set of Shapesheet properties for each and every shape on the page.&amp;nbsp; Let's compare Visio's performance when working with instances of masters versus masterless shapes.&amp;nbsp; We'll just create a master that consists of a plain rectangle for the master shape.&amp;nbsp; We'll draw a plain rectangle using the drawing tools for a masterless shape.&amp;nbsp; Then to get a better reading on the incremental costs of working with these shapes, we duplicate each 100 times.&amp;nbsp; The numbers below are based on some tests done with Visio 2003.&lt;/P&gt;
&lt;P&gt;When comparing memory consumption, the masterless&amp;nbsp;rectangle requires about 11,700 bytes per shape.&amp;nbsp; The master instance rectangle requires about 3,600 bytes per shape.&amp;nbsp; The difference gets larger if you apply formatting to the rectangles.&amp;nbsp; The masterless rectangle with custom line, fill and text colors set requires about 33,000 bytes per shape.&amp;nbsp; The master instance rectangle only uses 6,300 bytes per shape.&amp;nbsp; Note that Undo was enabled for this, which would exaggerate the numbers a bit.&lt;/P&gt;
&lt;P&gt;These differences also impact the file size of the Visio document.&amp;nbsp; A blank Visio document uses about 18 kilobytes of space.&amp;nbsp; A document with 100 masterless rectangles uses about 52 kilobytes.&amp;nbsp; The 100 master instance rectangles use about 45 kilobytes.&amp;nbsp; Thus when you subtract out the document overhead, masterless requires 26% more space.&lt;/P&gt;
&lt;P&gt;Finally, we can look at the time it takes Visio to create 100 shapes on the page.&amp;nbsp; This was measured with Undo disabled and a little automation script to drop the shapes.&amp;nbsp; 100 masterless rectangles were created in about 95 milliseconds.&amp;nbsp; 100 master instance rectangles were created in about 47 milliseconds.&amp;nbsp; Much of the performance differences relates to the extra memory footprint required for the masterless rectangles.&lt;/P&gt;
&lt;P&gt;Hopefully this gets you thinking about the efficiency of your own content and code.&amp;nbsp; Do you generate large diagrams by drawing lots of lines and rectangles?&amp;nbsp; You should think about masters.&amp;nbsp; Do you work with masters but heavily customize the shape instances once they are on the page?&amp;nbsp; Perhaps you can consolidate the customizations into a few masters that can be instanced.&amp;nbsp; Or perhaps you can place many of the customizations into a Visio style and apply that to your shape instances.&amp;nbsp; Do a little measurement with Windows Task Manager yourself to understand what the per shape memory costs are.&lt;/P&gt;
&lt;P&gt;We'll take a look at additional performance optimizations in some future posts.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=815527" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/visio/archive/tags/Shape+Design/default.aspx">Shape Design</category><category domain="http://blogs.msdn.com/visio/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/visio/archive/tags/All+Posts/default.aspx">All Posts</category></item></channel></rss>