Exporting html diagrams – binding to live services

This post briefly explains how to bind Visio diagram, exported as HTML to some external live web-service.
It’s based on the HTML/SVG export extension.

If you want the exported diagram to be connected to some live data,  you’ll need to connect to some live service (in this example, we consider a REST service). In the following posts, I’ll discuss binding a diagram to a SharePoint list using JSOM / REST.

So, let’s take map of Europe and show temperature by coloring countries, with colder colors indicating colder temperature! You can check the result in DEMO section (click the picture to navigate):

Here is basically the sequence of steps how to build it:

Continue reading

Exporting Visio diagrams as html

Do you want to build interactive diagrams which are available via web?

Well, Visio SharePoint Services are there, but what if you want to go one step further than that and control/animate shapes more precisely and use standard css3 animations for example, or if you don’t have / don’t need SharePoint Enterprise?

The good old HTML/SVG export is here to help you with that! And yes, you can still have your diagrams in SharePoint. Or on GitHub pages. Or on your network drive 🙂


Check out what you can do with that!

Back-Sync: Visio “backward” data synchronization

Visio has a nice feature, which allows you to link data to shapes. This allows you to create interactive dashboards for example, display data graphics which reflect the current state of some system on Visio diagrams, etc.

One thing may is occasionally needed, is a possibility to update your data source from Visio diagram. Meet the new add-in: BackSync

This add-in uses Visio data-binding infrastructure, and allows you to update the data in the external source from Visio (back-synchronize). There are limitations of course, but basically it should work with most data sources which support update (including Excel files, databases, and SharePoint lists).

Continue to the add-in’s page

Using SolutionXML with C#

Visio has a feature which allows third-party solutions to store it’s custom data in Visio files as XML fragments. It might be useful if you don’t want to litter document or shapes shapesheet(s) with your data. Also it has an advantage that setting it, unlike setting cells in shapesheet, does not trigger undo/redo, so user’s work is not interfered.

Working with solution XML elements might require a bit work, here is a short code fragment how to deal with that in C#. The key point is that you need to create your own namespace in the XML, and then all your data should go there. The sample assumes that you want to store some “settings” in the solution xml element.

Continue reading

New tool – Visio Import/Export VBA

Hi all,

Have recently have created an extension to import/export VBA code from a Visio drawing or stencil. You can find this useful if you want to track VBA source code changes in your Visio files, like compare current version of the code with the past version. Could make sense to use together with some version control like TFS, Subversion, or GIT.

Extension page:
VBA Import/Export for Visio

Continue reading

Visio project templates updated (Visio 2016, VS 2015 support)

Visio project templates updated to version 1.0.7:

– added support for Visual Studio 2015
– added support for Visio 2016
– Simplified source code (removed extra files, so that project structure is more like vanilla VS).
Unified project wizard. Now there is one wizard to rule it all. It allows you to add (bside the add-in itself) other Visio files/templates in the wizard itself, add name/description, etc. Addin type selection, Visio files selection, setup – from one wizard.
– License support in installer.
– Support for the built-in VS ribbon designer (optional)
– Support for both x86 and x64 in one installer in one MSI (one DLL compiled to “AnyCPU”)
– Support per user/per machine install in one MSI
– Support for project auto-harvesting. Means, DLL version is auto-harvested, COM registration auto-harvested (for COM addin type).

Continue reading

Rubberduck – refactoring in VBA

Hi all, recently came across an interesting Rubberduck project. Did you think that VBA is dead and buried? It looks like it’s not going down that easily!

Rubberduck is a COM Add-In for the VBA IDE that makes VBA development even more enjoyable, by extending the Visual Basic Editor (VBE) with menus, toolbars and toolwindows that enable things we didn’t even think were possible when we first started this project.

If you’re learning VBA, Rubberduck can help you avoid a few common beginner mistakes, and can probably show you a trick or two – even if you’re only ever writing macros. If you’re a more advanced programmer, you will appreciate the richness of Rubberduck’s feature set.

Continue reading