Prototyping #Visio ShapeSheet Formulas in #Excel

I am working on an application where the horizontal axis of the Visio page represents dates from left to right. In fact, the each of the fixed horizontal grids are 1 day, and I need to have shapes that understand the begin date at the left edge of the shape, and the end date at the right edge of the shape. There is, therefore, a number of elapsed days representing by the width of the shape. However, the underlying grid can either represent all days, or it can be changed to only represent weekdays by omitting the weekends. I struggled to find the best formula to calculate the elapsed days or weekdays between two dates in Visio ShapeSheet formulas, so I turned to Excel to provide an inspiration. The Visio ShapeSheet is modelled on the Excel worksheet, and formulas can be entered into the cells in much the same way. However, the available functions differ since Excel is mainly used for arithmetic and statistics, but Visio is used for graphics and data. In this article, I demonstrate how I used C# and Excel to construct and test formulas for use in a Visio shape.

This slideshow requires JavaScript.

Read the rest of this entry »

Advertisements

Handy USB-C Hub for Surface Book 2

I recently wrote about the video connections that I use with my Surface Book 2, and this included the almost impossible connection with my Acer Windows Mixed Reality headset. Well, I now have a neat solution provided by uniAccessories , from whom I have purchased a handy little hub via their kickstarter. This rugged, but small, USB-C 6-in-1 hub allows me to connect the USB 3.0 and HDMI cables to the single USB-C port on my  Surface Book 2.

This is actually 6-in-1 hub, so I get even more than my original needs! This is the full spec:

  • SD: UHS-1, speed up to 104MB/s
  • MicroSD: UHS-1, speed up to 104MB/s
  • USB3.0: Data transfer speed up to 5Gbps; Charging up to 5V@0.9A
  • USB2.0: Data transfer speed up to 480Mbps; Charging up to 5V@0.9A
  • USB-C: Power Delivery, up to 100W(note: data transfer not supported)
  • HDMI: Resolution up to 4K@30Hz

This hub is certainly going to be very useful!

Replacing Images in #Visio Shapes by Changing Data

I wrote an article last year about Swapping Images in a #Visio Shape manually, but I want to be able to do this whenever a Shape Data value changes. This is because I use I invariably use shapes linked to data. I also want to be able to have multiple images within a single grouped shape, and all of them changing when their referenced Shape Data values change. I believe that this will be more adaptable for a lot of scenarios than trying to repurpose Data Graphic Icon Sets ( see  Make Your Own Visio Data Graphic Icons Sets … automatically). I also discovered that the Shape.ChangePicture(…) function can just as easily work with urls as it can with network file paths, so even more possibilities are opened up! For example, the Visio Online JavaScript API has the ability to overlay an image (see ShapeView.addOverlay(…)).

So, I have created some macros to provide quick and easy selection, positioning and updating of images within a group shape.

personphotosbydata

Read the rest of this entry »

Power up your #Visio diagrams

It’s a new year, and Microsoft Visio Online Plan 2 continues to be updated monthly. There is plenty to get excited about, for example, broken links in Data Visualizer can now be repaired automatically. Also, I am pleased to report that I have written a white paper on using Visio in Power BI effectively! This downloadable guide explains how to combine Visio drawing pages and Power BI data to create great interactive data visualizations, and can be requested from Power up your Visio diagrams.

preview-lightbox-cta-02

I will also be doing a webcast about this subject, so be sure to sign up for notification!

My #SurfaceBook 2 video connections

I was tidying up my office recently, and came across an old magazine cover that I was on back in 1992. In those days, I was a consultant for a company called Isicad, and I am working on a £30,000+ Unix workstation. I have a small monitor for the Unify database on the left, and a large CRT monitor the CAD system, and a tablet with a stylus for interaction with the drawing. I also had more hair than I do now, which probably started going when I turned up to do some demos in Milan on a workstation that was supplied by the German arm of the company … only they didn’t leave a built one … just loads of boxes with parts, and that also included the circuit boards! I had to build it afresh whilst being instructed over the phone, and with my foot firmly hooked around the radiator because I didn’t have an earthing strap! Well, that picture started me thinking about my current workstation, which is a £3,000 Microsoft Surface Book 2, and how I have to connect to video displays nowadays!

IMG_2888 (Edited)

Read the rest of this entry »

Controlling #Visio layers with linked data

Readers of my blog will know that I use the layers in Visio pages to change the display for different scenarios. My macro to toggle layers on/off has been very popular, and I have written an add-in to manage layers that is widely used. However, I was recently asked if the layer settings can be controlled from linked data. Linking data in Visio has been available in all desktop editions, except Standard, since 2007, and I have written many articles and two books extolling this feature, but I haven’t so far controlled layer settings with it, so this article describes how this can be done … as shown in the following screen recording!

UpdatingLayersFromData

Read the rest of this entry »

Reading the registry for #Visio settings

I love writing Visio automation code, but I really don’t like writing setup & deployment scripts. There are so many variables : What Visio version, which edition? Which bitness (x86 or x64)? What are the user settings for the paths of stencils or templates?

So, I decided to write myself some C# functions that can be used in custom actions for an installation writing application, such as Advanced Installer. I think of the methods as being in one of three phases, Installation; Functionality and Configuration. The registry has three different areas to search within, Classes Root (HKCR); Local Machine (HKLM) and Current User (HKCU). In addition, the best way to get the true file version of Visio is to use FileInfo on the executable. The following screenshots are from a Cross-Functional Flowchart of the functions that get values for variables, and use them in other functions, until, eventually, the current user settings can be read.

This slideshow requires JavaScript.

Read the rest of this entry »

JackBinnall

O365 and SharePoint

Simplify Tasks

Want to learn the simple way?

Paul Turley's SQL Server BI Blog

sharing my experiences with the Microsoft data platform, SQL Server BI, Data Modeling, SSAS Design, Power Pivot, Power BI, SSRS Advanced Design, Power BI, Dashboards & Visualization since 2009

John Goldsmith's visLog

be smart, be clear, be visual ...

Mo's blog

Personal views on Dynamics 365 for Operations and Technical Architecture.

Chris Webb's BI Blog

Microsoft Power BI, Analysis Services, MDX, DAX, M, Power Pivot and Power Query

davecra.wordpress.com/

Azure Solutions for Office 365, and more...

johnvisiomvp

Life with Visio and other Microsoft Toys!

Nilsandrey's Weblog

Just another WordPress.com weblog

Things that Should be Easy

Every so often (too often in the IT industry) I encounter things that should have been very easy to do but turned out to be far too complicated. My favorite topics include SharePoint, .Net development, and software architecture, especially distributed systems.

Visio Guy

Smart graphics for visual people