• Skip to main content
  • Skip to primary sidebar
  • Skip to footer

bVisual

  • Home
  • Services
    • How Visio smartness can help your business
    • Visio visual in Power BI
    • Visio Consulting Services
    • Visio Bureau Services
    • Visio Training and Support Services
  • Products
    • Visio Shape Report Converter
    • SS Plus
    • LayerManager
    • visViewer
    • Metro Icons
    • Rules Tools for Visio
    • The Visio 2010 Sessions App
    • Multi-Language Text for Visio
    • Document Imager for Visio
    • multiSelect for Visio
    • pdSelect for Visio
  • Case Studies
    • Case studies overview
    • Using Visio in Education for GIS
    • Visualizing Construction Project Schedules
    • Visio Online Business Process Mapping
    • Nexans Visio Template
    • CNEE Projects, WorldCom
    • Chase Manhattan Bank
  • News
    • Recent news
    • News archive
  • Resources
    • Articles➡
      • ShapeSheet Functions A-Z
      • Comparing Visio for the Web and Desktop
      • Customising Visio Shapes for the Web App
      • Key differences between the Visio desktop and web apps
      • Using the Visio Data Visualizer in Excel
      • Using Visio in Teams
      • Creating Visio Tabs and Apps for Teams with SharePoint Framework (SPFx)
      • Designing Power Automate Flows with Microsoft Visio
      • Innovative uses of Visio Lists
    • Webcasts ➡
      • Visio in Organizations
      • My session and other Visio sessions at MSIgnite 2019
      • Power up your Visio diagrams
      • Vision up your Visio diagrams
      • The Visio 2010 MVP Sessions
    • Visio Web Learning Resources
    • Books➡
      • Visualize Complex Processes with Microsoft Visio
      • Mastering Data Visualization with Microsoft Visio
      • Microsoft Visio Business Process Diagramming and Validation
      • Visualizing Information with Microsoft Visio
  • Blog
    • Browse blog articles
    • Visio Power BI articles
    • Visio for Web articles
    • A history of messaging and encryption
  • About us
    • About bVisual
    • Testimonials
    • Bio of David Parker
    • Contact Us
    • Website Privacy Policy
    • Website terms and conditions
    • Ariba Network

C#

Published on May 25, 2026 by David Parker

Migrating from Lucidchart to Visio?

My fellow Visio MVP, Michel Laplane, and I recently converted and transformed 15k Lucidchart documents to Microsoft Visio for a large multi-national organization. This was approximately 4 years after they had moved from Visio to Lucidchart! I do not know the full reason behind these changes in technology, and I do not have a particular dislike of Lucidchart, but my passion is Visio, so I was willing to assist SohoDragon in this migration for their client. The Lucidchart application is solely a web-based diagramming system with the documents stored in AWS, so perhaps it does not fit easily within the corporate compliance architecture of Microsoft Azure, Teams and SharePoint. Microsoft Visio though has the same files for both the desktop and web editions, although there are some restrictions in the size and features of editing Visio document in the web. However, all the M365 users will have the ability to view and comment of the Visio documents that they have permission for. Visio Plan 1 or Plan 2 subscriptions will be required for editing the migrated documents because they have not been created with the templates provided in Visio for M365, and Visio documents which have any page with over a thousand shapes will currently only be editable in the Visio desktop edition. The Lucidchart documents needed to be audited, exported and transformed into Visio documents, and then uploaded to similar folders in SharePoint, where user permissions could be applied. We decided to use multiple secure Windows VMs to process the documents and then upload them to SharePoint before the VMs were deleted.

[Read more…] about Migrating from Lucidchart to Visio?

Filed Under: C#, Connections, Connectors, Containers, Images, JSON, MVP, Products, Shape Data Tagged With: Lucidchart, Migration, Visio

Published on November 10, 2025 by David Parker

How SVG in Visio can cause a Shape.BoundingBox(…) error

I have used Visio’s Shape.BoundingBox(…) for many, many years and I cannot ever recall it failing, but I have now managed to create some shapes that cause it to error. This caused many hours of confusion, so I nearly abandoned using the method, until I discussed it with my fellow Visio MVP, John Goldsmith (see VisualSignals), and together we examined the cause. It came down to a badly formed sub-shape within the shape that had zero dimension … and in fact had an incomplete ShapeSheet. If you look at the screenshot below, then you may notice that there is no Shape Transform section! That is a mandatory section, and should always exist … so how did this happen?

[Read more…] about How SVG in Visio can cause a Shape.BoundingBox(…) error

Filed Under: C#, Coding, eVSM Mix, ShapeSheet Formulas, Visio Tagged With: Coding, ShapeSheet, SVG, Visio

Published on November 2, 2022 by David Parker

Linking Data to Visio Shapes in Code

One of the most useful capabilities of Visio Professional and Visio Plan 2 is to link external data to shapes and have them refreshed by changes in the data source. So, many of my solutions involve writing code to make these links, and they are covered with some VBA examples in my book, Mastering Data Visualization with Microsoft Visio Professional 2016, but I mostly write C# code in VSTO add-ins, so I thought it would be useful to demonstrate how easy it is to create data links by dropping a shape, and by adding links to an existing shape. The book, by the way, is still relevant for the current Visio Professional and Visio Plan 2 editions!

[Read more…] about Linking Data to Visio Shapes in Code

Filed Under: C#, Data Graphics, External Data, Shape Data Tagged With: Coding, External Data, Link Data to Shapes, Shape Data, Visio

Published on March 3, 2021 by David Parker

Viewing Visio Document Changes in Git

Developing a Visio solution usually involves both .Net code and Visio ShapeSheet formulas. Good practice dictates that the source code is saved into a code repository, such as Git, where changes can be committed and commented. Visual Studio 2019 now includes native Git support, and can be linked to Azure DevOps easily. The code can be viewed by others and the changes made by commits can be reviewed. This is tried and tested for the .Net code, but any changes made to a Visio template, stencil or drawing document is a black box. If the Visio document is included in the Git project, then all that is visible is the fact that the file has been changed, but the detail of the actual changes are unknown. There may be some comments with the commit, but that is not a precise definition. So, what if there was a way to easily spot the changes?

  • Make a small change to a Visio master
  • It registers as a change in Git
  • Cannot see what actually changed in DevOps
[Read more…] about Viewing Visio Document Changes in Git

Filed Under: C#, DevOps, Git, Shape Design, ShapeSheet Formulas, Visio, Visio for Desktop Tagged With: DevOps, DotNet Core, Git, ShapeSheet, Visio

Published on July 24, 2020 by David Parker

Getting the Microsoft Office Theme Value

I am working on a Visio VSTO project where I need to synchronise a UI element with the current session Microsoft Office Theme. At first, I thought that there would be some way of getting a value from the Visio object model, but I was wrong…

The Office Theme can be selected from either the Visio Options, or the Account Options panels.

  • Visio Options
  • Account Options
[Read more…] about Getting the Microsoft Office Theme Value

Filed Under: C#, Shape Design, TimeTable, Uncategorized, Visio, Visio for Desktop Tagged With: Shape Design, Visio

Published on April 17, 2018 by David Parker

Swapping Images in a Visio Shape

I often include images in Visio diagrams, and sometimes they are part of a group shape. There are times when I need to swap the image for another, and I want the correct width to height ratio for the new image to be applied, otherwise the image will be distorted. I recently realised that the Shape.ChangePicture() function in Visio actually returns this ratio which can then be applied to the shape cells so that the image is not distorted. Therefore I wrote some C# code (in LinqPad) to utilize this method to provide the option to change the image in a selected shape or sub-shape.

So, I wrote this function in C# to swap the image of the shape, and to apply the formulas to maintain its correct aspect ratio, even if the shape is subsequently resized.

ChangePicture
[Read more…] about Swapping Images in a Visio Shape

Filed Under: C#, Images, ShapeSheet Formulas, Visio, Visio 2016 Tagged With: Automation, ShapeSheet

  • Page 1
  • Page 2
  • Go to Next Page »

Primary Sidebar

  • LinkedIn
  • Twitter

Recent Posts

  • Docked Stencils in Visio for the Web
  • My Visio Books and Old pre-C# Work
  • Migrating from Lucidchart to Visio?
  • Creating Boolean Context Menus in Visio
  • Installing Visio Templates and Stencils

Categories

Tags

Accessibility Add-Ins AdvancedInstaller Connectors Containers Data Export Data Graphics Data Import Data Visualizer Educational Excel GraphDatabase Hyperlinks Icon Sets JavaScript LayerManager Layers Legend Link Data to Shapes MSIgnite Office365 Org Chart PowerApps PowerBI PowerQuery Processes Setup and Deployment Shape Data Shape Design ShapeSheet ShapeSheet Functions SharePoint 2013 SQL Teams Validation VBA Video Visio Visio 2007 Visio for the desktop Visio for the Web Visio Online Visio Services Visio Viewer Webinar

Footer

bVisual Profile

The UK-based independent Visio consultancy with a worldwide reach. We have over 25 years experience of providing data visualization solutions to companies around the globe.

Learn more about bVisual

  • Amazon
  • E-mail
  • Facebook
  • LinkedIn
  • Twitter
  • YouTube

Search this website

Recent posts

  • Docked Stencils in Visio for the Web
  • My Visio Books and Old pre-C# Work
  • Migrating from Lucidchart to Visio?
  • Creating Boolean Context Menus in Visio
  • Installing Visio Templates and Stencils

Copyright © 2026 · Executive Pro on Genesis Framework · WordPress · Log in