PageScale/DrawingScale fields not updating when fields used on background sheet

Started by E-ZPassIntegrator, July 08, 2008, 07:53:37 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


I am using a background sheet with a title block from Visio Pro 2007.  I want to use this background sheet for multiple foreground sheets and have some of the data change depending on the foreground sheet.  The sheet number, page name fields change.

However, when adding the scale block (or using the fields ThePage!PageScale or ThePage!DrawingScale) on a background page, the values are not updating on pages that use the background page.

Eg:  background page has 1:1 in Scale Block.  Actual scale on background page is 1:1.  Foreground page has scale 1:32.  Scale block still displays as 1:1.

I tried using a custom formula using ThePage!PageScale and ThePage!DrawingScale inserted on the background page and foreground page.  It works on the foreground page, but no luck on the background page.

Am I doing something wrong or is this a 'feature'?

Visio Guy

Hi EZ,

You're not doing anything wrong. There are certain fields that are smart enough to know that they should display info about the foreground page.

In your case, you're using generic ShapeSheet formulas that don't really know about foreground/background pages.

What I have done in the past is to put certain text shapes on the foreground pages, then put them on a Title Block layer, and locked the layer.

Lars-Erik has done some tricks with background fields, and talked about them elsewhere in this forum. Maybe he'll see this post, or you (and I) can dig around and see what magic he's come up with. I remember seeing a few posts, but can't recall the details right now.

- Chris
For articles, tips and free content, see the Visio Guy Website at
Get my Visio Book! Using Microsoft Visio 2010


Haven't automated the scale formula but why not do it with a small step in between.
Have the forground page drop the scale into a user.scale cell and then have the titleblock use ThePage!User.scale as source?
That might work?

No it wont :) as user.scale will look for the property in the background page. I was still editing this post when Vista decided to shut everything down and install updates...
*Lars-Erik threatens Microsoft with the wrath of doom*
I'll see if i find a decent way of displaying the scale... I'll get back to you.

- Lars


Tricky tricky, when i just started with the problem of the background title block i remember i used the page name and the index function to transfer data to and from the background. far from a clean solution.

As for the scale, no luck as of yet.
I would like to know why Microsoft has given certain fields e.g. Pagename() work as most people would expect, but certain others e.g. scale don't have anything like that.

Does your file have VBA code E-Z? then you could consider writing a piece of code to do this.
If it doesn't and you don't want any VBA in your file, I don't think I have an out of the box solution for you :(


Just a small update: I came across the Scale shape in one of Visio's templates.
This shape, dropped on the background will still not update to show the foreground scale.
I fear that this is just not possible, without coding that is. I think Visio just updates some fields, like name etc but some just wont, like scale.

Might be a nice feature for an upcoming Visio ?

- Lars


I see this is an old post but I am wondering if there is a fix or alternate method to show the foreground page drawing scale using a background template in 2010?