I am trying to create a vba code that extracts the name of files saved into a .pset. Is there anyway to open a .pset with out opening microstation. When i open with notepad its all in garbled coding language that i can not utilize the information.
Thanks!
Emily,
PSETs are compressed XML like files. If you rename a .pset to .zip you can extract it and see what's inside. I'm not sure how you'd get into this using VBA.There's a a way to do it programmatically, because Bentley has a utility rebasepset that will find and replace strings in .psets. I came across this after we upgraded our ProjectWise server and has to update the serve name in hundreds of psets.
Tom F.
Hi Emily (and Tom F),Here is the procedure (sorry for the formatting). To piggyback off what Tom said:
From here the rest is up to you. I like to paste this column into the spreadsheet I used to create the PSET; this allows me to check where the missing file(s) from the PSET are.
Enjoy,
LOR
LOR,
Man, that is some impressive reverse engineering. That's going into the toolbox.
Thanks! The original intent of doing this was to build PSETs offline, since that would avoid the triple-whammy of copying out files (with ProjectWise):
I get No. 3, but 1 and 2 are just huge time-sucks from the user's POV, regardless of the technology behind it.
Anyway, I went deep down this rabbit-hole, copying and editing XML files, then carefully reassembling them back into the ZIP (PSET), but what I discovered was the GUIDs inside the XMLs are not the GUIDs in ProjectWise. There is an extra layer of on-purpose obscurement, as if the GUIDs are re-hashed for some odd reason. Maybe there is a lookup table somewhere, or a Magical PSET GUID Decoder Ring, but that's where it dead-ended for me.
To bad, though, it would have been super-slick--or super normal--to write out (or copy/edit) a bunch of XML files--could probably do the whole thing from Excel--and build a PSET in minutes, instead of hours and hours and hours... I mean, a PSET is just a series of text files, so why all the gyrations??? Outside of PW I can print 500 drawings, in index order, in about 3 hours. In PW, this is a 2-day adventure... :-)
(And Renditions is no prize either, in case anyone suggests that.)
OK, OK, I'm preaching to the choir, sorry...
Shoot--I forgot one thing:I explored, and maybe continue to explore, creating ONE pset for EACH dgn, with the hopes--according to a CR filed a few years ago--that a tool to stitch PSETs together would exist by now (it doesn't, AFAIK). This sort-of solves The Problem by off-loading the PSETs to the individual user(s) (since they need to make check-prints).
Why ONE pset for EACH dgn?
Aside from the missing stitching tool, the biggest problem here is:
This is tough to swallow for most project teams. Well, I guess Milton Friedman was right: there are no free lunches...