• 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

ShapeSheet Functions

Published on October 15, 2012 by David Parker

Adding More Smartness to Visio Connectors

Whenever I have been asked why I like Visio so much, I have usually cited its ability to connect shapes together; its ability to link to data; and its programmability. Visio 2010 formally added a structured diagram concept and API, and the premium edition introduced diagram validation. So many different types of Visio diagrams require elements to be connected together correctly, and I often have to add a little extra into the connectors to make them smarter.

What is a connector?

A connector is a Visio shape that has 1-D behavior. The most used example is the Dynamic connector shape, which not only connects elements together, but can also re-route itself according to the layout and routing options selected for a page.

[Read more…] about Adding More Smartness to Visio Connectors

Filed Under: Connectors, ShapeSheet Formulas, Visio Tagged With: Connectors, ShapeSheet Functions

Published on August 28, 2012 by David Parker

Checking a Visio Shape for Cell Errors

I have been analysing a client’s Visio shapes recently to find out how to increase their performance. These shapes have numerous cells with ShapeSheet functions that reference other cells in the same shape, in parent shapes, in the page and in the document. I suspected that there may be some formulas producing erroneous results, so I wanted to write a macro to check if there are any cell formula evaluation errors in the shape, or its sub-shapes.

A Visio Cell object has an Error property that returns the error code generated by the last evaluation of the result.  See http://msdn.microsoft.com/en-us/library/office/ff767327.aspx for more information about the the Error property, and http://msdn.microsoft.com/en-us/library/office/ff766442.aspx for the VisCellError constants.

In order to test a macro that can check a shape for errors, I fist needed to generate examples of each possible error in a shape. So, I created a User-defined Cells section with seven rows – one for each possible VisCellError code value.

image

I was able to generate errors in all rows, except for the VisErrorName row. No matter how hard I tried, I could not get Visio to generate this error. I am fairly certain that I could generate errors (accidently) before Visio 2010, but I think that Microsoft have made this error much rarer because of the way they substitute last known values when a referenced cell or row is deleted.

image

So, now that I had a shape with errors, I then duplicated it, and made the duplicate copy part of a grouped shape. This way I could test my function, CheckForErrors(), which simply iterates through all of the selected shapes, and their sub-shapes, and prints out any cells with errors into the Immediate Window:

image

My macro printed out the following table:

image

So, I can now check any shape to see if it has any cell errors within it.

The VBA code that produced the listing is :

Public Sub CheckForErrors()
Dim shp As Visio.Shape
    Debug.Print Now()
    Debug.Print "Parent.Name", "Shape.Name", "Section", "Row", "Column", "Name", "Error", "Formula"
    For Each shp In Visio.ActiveWindow.Selection
        CheckShapeForErrors shp
    Next
End Sub

Private Sub CheckShapeForErrors(ByVal shp As Visio.Shape)
Dim shpSub As Visio.Shape
Dim iSect As Integer
Dim iCol As Integer
Dim iRow As Integer
Dim cel As Visio.Cell
    For iSect = visSectionFirst + 1 To Visio.visSectionLast
        For iRow = 0 To shp.RowCount(iSect) - 1
            For iCol = 0 To shp.RowsCellCount(iSect, iRow) - 1
                Set cel = shp.CellsSRC(iSect, iRow, iCol)
                If cel.Error <> VisCellError.visErrorSuccess Then
                    Debug.Print cel.Shape.Parent.Name, cel.Shape.Name, iSect, iRow, iCol, cel.Name, cel.Error, cel.Formula
                End If
            Next iCol
        Next iRow
    Next iSect

    For Each shpSub In shp.Shapes
        CheckShapeForErrors shpSub
    Next
End Sub

I would be interested to find out of anyone who can create a VisErrorName for me!

Filed Under: ShapeSheet Formulas, Visio, Visio 2010, Visio 2013 Tagged With: ShapeSheet Functions

Published on January 30, 2012 by David Parker

Now() then, settle down!

It has long been said that Visio’s ShapeSheet was modelled on Excel’s WorkSheet with it’s ability to enter formulae from a set list of functions. Indeed, there is a lot of similarity between some of Visio’s ShapeSheet functions and similar ones found in Excel, however one should exercise some caution and check that the behaviour is as expected. I recently forgot to do this with the NOW() function, and it caused me some grief for a while.

I had constructed a Today shape in Visio, and used the NOW() function to position the shape in the horizontal, and to display the date value in a Shape Data row and in the ScreenTip.

In Excel, if you enter the NOW() function into a cell, it immediately evaluates when the formula is entered. So, if you enter the same formula in multiple cells (by typing … not copying), it will evaluate at the time that you enter it. Thus you can apparently have different times displayed.

image

[Read more…] about Now() then, settle down!

Filed Under: Visio, Visio 2010 Tagged With: ShapeSheet Functions

  • « Go to Previous Page
  • Page 1
  • Interim pages omitted …
  • Page 10
  • Page 11
  • Page 12

Primary Sidebar

  • LinkedIn
  • Twitter

Recent Posts

  • Fixing dimensions of 2D shapes
  • Merging Linked Data from Similar Tables
  • Smart Radio Buttons and Check Boxes in Visio
  • Using Button Face Ids in Visio
  • Grid Snapping Revisited

Categories

Tags

Accessibility Add-Ins Connectors Containers Data Export Data Graphics Data Import Data Visualizer Educational Excel GraphDatabase Hyperlinks Icon Sets JavaScript LayerManager Layers Legend Link Data to Shapes Lists MSIgnite MVP 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 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

  • Fixing dimensions of 2D shapes
  • Merging Linked Data from Similar Tables
  • Smart Radio Buttons and Check Boxes in Visio
  • Using Button Face Ids in Visio
  • Grid Snapping Revisited

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