Visio Constants in VisioBot3000

One of the great things about doing Office automation (that is, COM automation of Office apps) is that all of the examples are filled with tons of references to constants. A goal of VisioBot3000 was to make using those constants as easy as possible. I mentioned the issue of having so many constants to deal …

Continue reading ‘Visio Constants in VisioBot3000’ »

Voodoo PowerShell – VisioBot3000 Lives Again!

Back in January I wrote a post about how VisioBot3000 had been broken for a while, and my attempts to debug and/or diagnose the problem. In the process of developing a minimal example that illustrated the “breakage”, I noticed that accessing certain Visio object properties caused the code to work, even if the values of …

Continue reading ‘Voodoo PowerShell – VisioBot3000 Lives Again!’ »

Debugging VisioBot3000

The Setup Sometime around late August of 2016, VisioBot3000 stopped working.  It was sometime after the Windows 10 anniversary update, and I noticed that when I ran any of the examples in the repo, PowerShell hung whenever it tried to place a container on the page. I had not made any recent changes to the code. …

Continue reading ‘Debugging VisioBot3000’ »

VisioBot3000 Settings Import

It’s been a while since I last spoke about VisioBot3000.  I’ve got the project to a reasonably stable point…not quite feature complete but I don’t see a lot of big changes. One of the things I found even as I wrote sample diagram scripts was that quite a bit of the script was taken up …

Continue reading ‘VisioBot3000 Settings Import’ »

Translating Visio VBA to PowerShell

In working on VisioBot3000, I’ve spent a lot of time looking at VBA in Visio’s macro editor. It’s one of the easiest ways to find out how things work. I thought it would be fun to take some VBA and convert it to PowerShell to demonstrate the process. We’ll start with a basic diagram using …

Continue reading ‘Translating Visio VBA to PowerShell’ »

Introducing VisioBot3000 – Part 2 (Superman?)

In the last post I showed you how VisioBot3000 makes drawing simple Visio diagrams simpler by wrapping the Visio COM API and providing more straight-forward cmdlets do refer to stencils and masters, and to draw shapes, containers, and connectors on the page. To be honest, that’s where I was expecting to end up when I started …

Continue reading ‘Introducing VisioBot3000 – Part 2 (Superman?)’ »

PowerShell and Visio Part 6 – Containers

Ok…I think this is the last of the “how to perform primitive operations in Visio” articles that I’m going to do.  Hope you’ve been enjoying them.  If you haven’t been keeping up, you can find them all here. In this installment, I’m going to show you how to create a container in Visio.  Containers are really …

Continue reading ‘PowerShell and Visio Part 6 – Containers’ »

Fun at MidMo PowerShell User Group

Had a blast at the MidMo PowerShell user group meeting last night in Columbia,MO. It was just the second meeting for this group and there were over a dozen people present. I started with a presentation on using PowerShell and Visio together (some of which you’ve seen here) and Rob Campbell (@Mjolinor) finished the meeting …

Continue reading ‘Fun at MidMo PowerShell User Group’ »

PowerShell And Visio Part 5 – Connections (updated)

It’s been a while since the last post.  I decided that if I had to chose between writing PowerShell and writing about PowerShell, I should favor the former. In this episode, I’ll talk about how to create connections between objects in a Visio diagram.  Turns out it’s not really that hard (just like most things …

Continue reading ‘PowerShell And Visio Part 5 – Connections (updated)’ »

PowerShell and Visio – Part 4 (Interlude)

Why mess with Visio from PowerShell? I’ve got a couple of posts with some really basic code to access things in PowerShell and it occurred to me…I probably haven’t made it clear why you might want to do this (other than that you can). So, instead of moving on to connections (which will be next, …

Continue reading ‘PowerShell and Visio – Part 4 (Interlude)’ »