View Single Post
  #13   Report Post  
Posted to microsoft.public.word.newusers
Quin Quin is offline
external usenet poster
 
Posts: 7
Default Relative Hyperlinks

Funny, Word created the .MHT file.

In my original post, I didn't want Word to update links, I wanted it to
leave them alone, as relative hyperlinks.

A relative hyperlink, like ../Another.Doc, would work fine. This seems to
me to be just another case of Word "fixing" something that wasn't broken.

"macropod" wrote in message
...
hi Quin,


The question is how to get Word to leave hyperlinks alone.

According to your original post, you wanted Word to update document
hyperlinks when you moved the files to a different folder. "These are just
links to other documents in the same folder". The macro I supplied does
that
automatically. Put it in the target document (i.e. the one with the
hyperlink fields) and the fields will be updated next time the document is
opened.

Then you said "When I double-click the .mht, they open in IE". Files with
a
".mht" are not Word files - Word document files end in ".doc".

Perhaps if you state clearly what the issue is you're dealing with, it
would
help. Are you working with hyperlink fields, or just text that represents
a
hyperlink path? There is a significant difference. If you press Alt-F9 in
a
Word document, any true hyperlinks will display as { HYPERLINK "hyperlink
path\\hyperlink source" }.

Cheers

--
macropod
[MVP - Microsoft Word]


"Quin" wrote in message
...
You mean a Word question in an Internet Explorer forum?

The question is how to get Word to leave hyperlinks alone.


"macropod" wrote in message
...
Hi Quin,

Perhaps if you ask in one of the Internet Explorer forums.

Cheers

--
macropod
[MVP - Microsoft Word]


"Quin" wrote in message
...
Sorry, is there an MHT forum? Word created and editted these .MHT
documents. It doesn't quite handle .HTM documents.

"macropod" wrote in message
...
The macro is for use in a Word document - not an mht file - this is
a
Word
forum, after all.

--
macropod
[MVP - Microsoft Word]


"Quin" wrote in message
...
I checked, it's there.

When I double-click the .mht, they open in IE (which is what I

want).
IE
did give a warning about AX content, which I allowed.

"macropod" wrote in message
...
Did you make sure the code was still installed in the target
document
after
you'd moved it? Did Word give a macro warning when you opened the
document?

--
macropod
[MVP - Microsoft Word]


"Quin" wrote in message
...
Yes, used code, moved files to another machine, links still

pointed
to
original path.

Changed AutoOpen to MyAutoOpen, called it from Document.Open,

moved
files,
no change.

Thanks for the help. Word could be an easy tool for web pages,
you'd
think.


"macropod" wrote in message
...
Hi Quin,

What didn't work? Works for me and I've posted this code quite

a
few
times
before. This is the first time anyone's suggested it doesn't
work.
Did
you
add the code to the target, save it, copy the source and
target
files
to
a
new folder, then re-open the target?

Cheers

--
macropod
[MVP - Microsoft Word]


"Quin" wrote in message
...
Seems to be the right track, but didn't work.


"macropod" wrote in message
...
Hi Quin,

Links to external files in Word are always absolute. Since
you're
keeping
the source and target files in the same folder, you can use
the
following
macro to automate the update process.

Option Explicit
Dim TrkStatus As Boolean ' Track Changes flag

Private Sub AutoOpen()
' This routine runs whenever the document is opened.
' It calls on the others to do the real work.
' Prepare the environment.
Call MacroEntry
' Most of the work is done by this routine.
Call UpdateFields
' Set the saved status of the document to true, so that
changes
via
' this code are ignored. Since the same changes will be
made
the
' next time the document is opened, saving them doesn't
matter.
ActiveDocument.Saved = True
' Go to the start of the document
Selection.HomeKey Unit:=wdStory
' Clean up and exit.
Call MacroExit
End Sub

Private Sub MacroEntry()
' Store current Track Changes status, then switch off
temporarily.
With ActiveDocument
TrkStatus = .TrackRevisions
.TrackRevisions = False
End With
' Turn Off Screen Updating temporarily.
Application.ScreenUpdating = False
End Sub

Private Sub MacroExit()
' Restore original Track Changes status
ActiveDocument.TrackRevisions = TrkStatus
' Restore Screen Updating
Application.ScreenUpdating = True
End Sub

Private Sub UpdateFields()
' This routine sets the new path for external links.
Dim oRange As Word.Range
Dim oField As Word.Field
Dim OldPath As String
Dim NewPath As String
' Set the new path
NewPath = Replace$(ActiveDocument.Path, "\", "\\")
' Go through all story ranges in the document, including
shapes,
' headers & footers.
For Each oRange In ActiveDocument.StoryRanges
' Go through the fields in the story range.
For Each oField In oRange.Fields
With oField
' Skip over fields that don't have links to external
files
If Not .LinkFormat Is Nothing Then
' Get the old path
OldPath = Replace(.LinkFormat.SourcePath, "\", "\\")
' Replace the link to the external file
.Code.Text = Replace(.Code.Text, OldPath, NewPath)
End If
End With
Next oField
Next oRange
End Sub

Regards

--
macropod
[MVP - Microsoft Word]


"Quin" wrote in message
...
I can't seem to make Hyperlinks relative.

These are just links to other documents in the same
folder.
If
I
clear
the "Update Links on Save", the links get converted to
something
like
"C:\585C5E52\Default.htm". Without this cleared, it
stores
full
path
information, which prevents being able to move the

documents
to
another
path.