View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.links
Boulder_dude Boulder_dude is offline
external usenet poster
 
Posts: 2
Default How can I programmatically change Link references?

We're doing a file system upgrade, and changing our server names. Our drive
letters, however, will stay the same (I: and J:), but will be changing from
something like:
\\filesrv1\ABC$
to:
\\filesrv2\ABC$

Subsequently, I have to help people sort out their links in Excel (and other
Office apps), and update those to the new file server name.

I ran a test, and using the same drive letter assigned to the new share does
not do the trick - I get an error "Cannot start the source application for
this object" for Links, and "The Address of this site is not valid. Check the
address and try again." for hyperlinks.

I've done some research, and the Excel VBA .LinkSources Method only reveals
the drive letter. I need a method that will allow me to address (and change)
the full file path (\\filesrv1\abc$\...).

Using the .SourceName Method on an OLEObject also only reveals a string of
the sort:
"MSPhotoEd.3|J:\pictest\testpicture.JPG!"'

On the Hyperlink side, the .Hyperlinks method only exposes
"../../../abc$/pictest/testpic.jpg".

It would be nice if there were a method (like in PPT) that would expose the
"\\filesrv1" so that I could use the Replace function to change it.

Does anyone have any help or experience they could share?
Thanks in advance...