2002/2003 Last Edit Problem

L

Les Schumer

Hi,
I've embeded "Last Edit" Date field in a 2002 document's Doc Box which
generally works fine, except.....
If the document is opened using 2003 (instead of 2002 where it was
created), the Last Edit Date gets updated even though nothing on the diagram
has changed!
It's clear from the XML versions that 2003 is doing lots of changes to the
underlying file structure which is probably what's triggering the
"Edit/Update", but is there any way to turn this off? I've tried opening
the file Read-Only, but even that doesn't appear to help.
Thanks in advance,
Les.
 
C

Chris Roth [ Visio MVP ]

What kind of drawing is it? There could be extra "Visio Add-in" code that
performs operations every time the doc is loaded, or perhaps shapes have
functions that are updating when the doc opens. You get similar behavior in
Excel if you use a NOW() or TODAY() function. The dang thing keeps asking
you if you want to save changes even though you didn't really do anything...

With a bit of VBA code you could probably rig up some sort of Doc-last-saved
value, write a date to a user cell in the Document's ShapeSheet on Save, and
have your shapes reference that value.

--

Hope this helps,

Chris Roth
Visio MVP
 
L

Les Schumer

Thanks Chris,
I do have some VBA code in the Stencils referenced, but nothing in the Doc
itself.
If I reopen the 2002 doc in 2002, Last Edited doesn't get updated until I
draw on the diagram. - No problem.
Likewise - No problems opening a 2003 doc in 2003...
Likewise - No problems opening a 2003 doc (saved as 2002) in 2002....
The problem only seems to arise if I open a doc written with Visio 2002 in
Visio 2003.
Thanks for the suggestion though, it works fine.
I just hooked the Save and Save As Events and wrote the Doc.TimeEdited
property to a User cell in the Doc's ShapeSheet and referenced this from the
Doc Box Shape with "=TheDoc!User.Last_Edited"
Now we're only updated the Last Edited field when the Doc is Saved(As)
This is a "quick fix" as the Last Edited will still get updated if I simply
open a 2002 doc in 2003 and save it without edits, but it's a lot more
efficient than hooking the CellChanged events to work out if it's actually
been edited!
Pity there's no "IsDirty" Doc Property :)
Thanks again for your help.
Les.
 
C

Chris Roth [ Visio MVP ]

There is a "Dirty" doc property now that you mention it.

visio.ActiveDocument.Saved

But I reckon this is probably screwed up in the same way that your shape is.
Worth a shot at least.

You can also check Visio versions if you want to cut down on
"code-meddling", but I think your situation is more complex - time and
direction, not just time :)

--

Hope this helps,

Chris Roth
Visio MVP
 
F

Fred Ehrhardt

Forgive me if I'm missing something, but isn't this a DEFECT that MSFT has introduced? Is anyone aware of a KB# about this defect? Is there any MVP out there who knows whether MSFT is aware of this defect?

I have dozens of multi-page Visio files that provide a visual specification for a product. Some of our hotshot programmers decided it was time to upgrade to 2003, which then forced the rest of us brine shrimp to do likewise, because they couldn't be bothered saving their files in compatible 2002 format. Now we have a version with, for my purposes, LESS functionality than the previous version.

While I can appreciate that people are offering workarounds, what I want from MSFT is an SP / SR.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top