ok, here is the short story:
At the moment i'm developing a little tool that my firm uses to create offers. The offers include drawings made with Visio.
I made different stencils with custom shapes that represent my firms hardware, from time to time the hardware changes so i change the shapes and the users inside our firm get the new stencils.
Usually everybody creates a new darwing by using the template i made therefore. But in future this will be different. Because i was idiotic and bored enough i told my boss that i could write a .exe and an installation routine for that tool.
The installation routine works fine, also the .exe. The .exe only function is to create new Drawings (start the template) or to load old drawings (open .vsd). But i also want to include a function to let the user choose which stencils he wants (Version 1, Version 2, Version 3, .... all the different Versions that represent the different hardware sets). If the user opens a old drawing by double-clicking on it Visio automatically loads the stencils that were last opened, but i want it to load the stencils that the user chosed in the .exe (registry entry and path). Loading the stencils from the path saved in the registry is no problem but if a user opens an old drawing it looks like this in PseudoCode:
Sub Document_opened()
If Stencil1.vss is NOT open then
openex(registrypath/Stencil1.vss)
end if
If Stencil2.vss is NOT open then
openex(registrypath/Stencil3.vss)
end if
If Stencil3.vss is NOT open then
openex(registrypath/Stencil3.vss)
end if
end sub
The names of the stencils never change, so VISIO always thinks that the stencils are open (they are in fact but only the old versions). If i could find a way to open the drawings without the last stencils being loaded everything would work fine.
I hope you understand what i mean.
Thanks for your help