Question

Visio 2003: Reference ShapeSheet cell on a different page or Hide/Unhde Pages

Asked by: mburdick

I have a multi-page Visio document. I would like to be able to hide and unhide certain pages easily so that I can create a couple of different "views" of the document.

My initial approach is to create a control dialog (a shape with right-click options that set values) on a page in the drawing. Then, based on the values of those properties, set the value of the UIVisibility cell in the ShapeSheet for each page that I want to be able to hide/unhide.

I'm stuck at not being able to reference the value of the cell of the ShapeSheet of the Shape on my "control" page to control this value because every reference attempt results in "Error in Formula". I've tried refrencing the shape by its name of "Shape.694!" and inserting the local name of the cell (User.PagesX). I've tried also using the universal name for that cell of User.Row_3 (the name before I renamed it). I can't figure out the SDK documentation to know if I'm supposed to be using more information, different information, or what.

I need to either get help in making the off-page reference work, or I need another method at doing this that does NOT use VBA (I don't want the dreaded "Enable Macros" dialog box coming up).

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2009-09-10 at 11:44:40ID24722452
Topics

Microsoft Visio

,

Microsoft Office Suite

Participating Experts
1
Points
500
Comments
10

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. VB6 and Visio
    hi all, I am using vb6 and Visio Object Model. I am dynamically generating a stencil and the masters for the stencils will be the icons stored in the db. Then i open a new visio drawing and these newly generated stencils. The masters on these stencils are dropped to create a...
  2. Visio control Access, but very thin in Visio
    I'm looking for a general approach to getting an event in Visio VBA to pass parameters to and initiate a subroutine in Access VBA. I want to have the minimum amout of code possible in Visio. I'm familiar with using events in shape cells in Visio, to trigger subroutine calls...
  3. Microsoft Visio - VBA Function List
    Hi guys, Is there anywhere on the net where I can find a lookup/chart of all the VBA associated with Visio? Cheers guys!
  4. Create small images in the visio file according to data in exc…
    Hi, Create small images in the visio file according to data in excel sheet. Attached is the floor plan in visio and an excel sheet that has the seat no,Extension and machine no. Need a way that the seat no in colum A matches the computer objects in the visio and create the ...
  5. Manipulate Objects/Shapes in Visio using VB
    I am creating a program that will open a Visio diagram and change the color of the shapes depending upon certain conditions. So far I have managed to get the visio file open but I'm not sure how to go about the next step: how to identify and change the shape that I need to u...

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: scottPosted on 2009-09-11 at 06:07:27ID: 25308954

You're headed in the right direction, but the shapesheet syntax for what you're trying to do is a bit, well, strange! One thing that might help, if you haven't seen it yet, is a page in the shapesheet reference documentation called About Cell References. Search the SDK help for the word "References" and you should find the page. Then click to expand the subtopic Cell reference syntax and examples.

I implemented something very close to what you want but didn't bother with a control shape.  I just created a set of shape data fields on page one -- on the page itself. So if you right click on the page and choose Data/Shape Data..., the shape data dialog appears and you can set hide page values to True or False.

 

by: scottPosted on 2009-09-11 at 06:13:21ID: 25309010

I pressed enter and posted the above before I was completely finished...

The first image shows page 1 and its corresponding shapesheet. As I mentioned previously, I added shape data fields to the page, which makes changing values very accessible as shown by the shape data dialog that is hovering over the page. You can certainly do the same thing with a control shape if you prefer.

The second image shows the UIVisibility formula for Page-3 -- here's where the tricky syntax resides:
  =Pages[Page-1]!ThePage!Prop.HidePage_03
The three parts of this expression refer to: 1) a specific page; 2) the page shapesheet; 3) a specific cell in the shape data (aka custom properties) section.

I'd be happy to post the Visio file itself if you'd like it.

Scott

 

by: mburdickPosted on 2009-09-11 at 06:15:24ID: 25309028

Scott,

Thanks for the response.

I've been through that reference quite a number of times, and I can't figure out to reference the value of a cell in a row of a shapesheet of a shape that's on a different page. Maknig references to ShapeSheet information for shapes that are on the same page is not a problem for me at all.

I've even tried creating a shape on a page and referencing a ShapeSheet value of another shape on the same page, then moving one of the shapes to another page (hoping that the refrence would get correctly updated). It would simply change the referring ShapeSheet cell value to "REF()".

 

by: mburdickPosted on 2009-09-11 at 06:21:44ID: 25309087

In light of your additional information...

It *seems* like you were modifying Page ShapeSheet information from a different page (or accessing it). I want to do the opposite... From *within* the ShapeSheet for a page, I want to reference ShapeSheet data of a shape on a different page.

Does that change the game any?

 

by: mburdickPosted on 2009-09-11 at 06:30:43ID: 25309219

Wait... I think I can do this with some modifications.

I want to have a shape on the page that I can right-click and choose from two different options. I already have one of those to handle some very specific controls for printing. I will duplicate the shape and the controls, and I will have option one set a page property on the current page's ShapeSheet to one value, and option two will set it to a different value.

Once the value is set on the current page's ShapeSheet, I can use your syntax to refer to it from the other pages. I'll give it a try this morning and let you know how it works out.

 

by: scottPosted on 2009-09-11 at 06:34:44ID: 25309285

The UIVisibility formula in the second image above does what you're asking about -- it references a cell on another page. It happens that the cell is in a row of the page's shapesheet rather than a shape's shapesheet but the basic syntax is similar.

Replace "ThePage" with the reference to your shape. If your control shape on Page-1 is "Sheet.3" and it has the same shape data that I used for Page-1 in my example the formula becomes
  =Pages[Page-1]!Sheet.3!Prop.HidePage_03

The upper half of the image below shows the control shape on Page-1 and the bottom half shows the UIVisibility cell on Page-3 that refers to a cell in the control shape.

 

by: mburdickPosted on 2009-09-11 at 06:59:56ID: 25309572

if I create a brand new page, use the default page name, and then reference either the page ShapeSheet or a shape on that page, everything is fine with the formula reference.

Once the formula is in place, however, modifying the value of the ShapeSheet cell being referenced does NOT cause the referring page to disappear / appear. In order to get the page display to change, I have to open the ShapeSheet for the referring page and close it again.

Also - I am absolutely unable to reference a shape on an *existing* page, and I suspect that this has something to do with the fact that I have changed all of the default page names.

 

by: mburdickPosted on 2009-09-11 at 08:50:07ID: 25310721

I have been fighting with this for the last hour, and have finally figured out the issue.

The problem was not my syntax or what I was trying to do AT ALL. The problem was that ShapeSheets do NOT use Local names of objects - they ONLY use Universal Names. While that doesn't pose an issue for most of the people, it was causing me consternation because of the way that my pages had been created and maintained.

When I initially created the page that I'm trying to reference, I allowed Visio to create it with the default name (Page-2). Afterward, I renamed the page to "Generic Name - Updated" and turned it into a template. Using the template to create a multitude of drawings, I would rename the page *again* to "Specific Name - Updated".

This still isn't something deemed significant until you understand that the *FIRST TIME* you rename an object, Visio changes both the Local *AND* Universal names. This means that the new Universal Name for my page is "Generic Name - Updated".

Every time I want to reference this page, or an object on this page, I have to start the reference with "Pages[Generic Name - Updated]!" (because, again, ShapeSheets ONLY use the Universal Names for reference purposes).

While I appreciate your showing me that what I was attempting is completely possible, it wasn't really part of my true solution. I will be deciding on how to best award the points because your help definitely renewed my own determination to solve this.

I will NOT consider points for anyone besides Scott at this point.

 

by: scottPosted on 2009-09-11 at 11:34:04ID: 25312217

As you decide how to allocate points, please remember that the question you asked was about cross-page references to shapesheet cells. I believe I answered that question very thoroughly by providing examples of references to both cells in the page sheet and cells on a shape.

The additional information you discovered about universal names is, indeed, vital to the problem you wanted to solve but was not part of the question you asked.

 

by: mburdickPosted on 2009-10-03 at 06:19:34ID: 31627247

This provided re-affirmation of what I was trying to do being something that would work.

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...