Relative Hyperlink Hell
Posted on 2012-03-20
I'm generating a word document through Word Automation. All it is is a "table of content" displaying hyperlinks to other documents. These documents will be placed in the same folder as the word document, and all of it is moveable. So the hyperlinks need to be relative.
Well, I reckon I am setting the Hyperlink base correctly:
oWA.ActiveDocument.BuiltInDocumentProperties.Item("Hyperlink base").Value = "."
And the hyperlink then simply refers to a document "DOC0001.doc" (for example).
oWA.ActiveDocument.Hyperlinks.Add(oWA.Selection.Range, "DOC0001.doc", "", "", "click me!")
(oWA is the Word.Application object)
And if you then open the generated document, sure enough when you move the mouse over where I create the Hyperlink it says "Ctrl+Click to follow link"
But when I click on that it says "The address of this site is not valid. Check the address and try again." When I "Edit hyperlink", there is DOC0001.doc, quite happily sitting in the same folder as the word document. But even if I then PICK THAT from the Browser and I use Word itself to create a hyperlink to that file ... if I then try to Ctrl+Click to follow the link, it STILL says "The address of this site is not valid".
I check through File - Info - Properties - Advanced Properties and I confirm that the Hyperlink Base is set to "."
What's even weirder is that if I go save the document AS PDF, and I then click on the hyperlinks in the generated PDF document THEY WORK! - so that indicates to me that there is, in fact, not actually anything really wrong with the hyperlinks themselves. They have been configured correctly. It's WORD that is getting its panties in a twist.
So how do I get it to behave itself?
In case the tags aren't clear: This is happening in Word 2010. On a Windoze 7 machine, 64 bit. But it's a 32-bit version of Office.
And I have both Windows 7 and Office 2010's Service packs SP1 installed.
[whines feebly] HELP ME *sob*
150 poinks for "sorry but you're screwed, and this is why ...". Will up to 500 for actual solution.