Monday, September 14, 2009

Deleting all hyperlinks from a Microsoft Office document

Jan 9th 2003
Comments

Respond
Trackback

Tired of getting Microsoft Office documents (Word, Excel, Powerpoint) that are chock-full of hyperlinks that are bright blue and easy to accidentally click, making Word goes berserk and open the link?

Tired of getting Microsoft Office documents (Word, Excel, Powerpoint) that are chock-full of hyperlinks that are bright blue and easy to accidentally click, making Word goes berserk and open the link?

You can easily remove all those pesky URLs with a simple macro to remove all the hyperlinks in a document in one full swoop. With macros available to you in one keystroke (Alt F8) this is quite a convenient way of managing your logic ACROSS all Office software — the basic logic remains the same. Let’s see some code now:
A. Microsoft Word

1. From a Word document, press ALT F11 to open the MS Visual Basic.
2. The Visual Basic interface will open up. From the INSERT menu, click on MODULE to add a module.
3. A new document opens up. In there, paste the following code:

Sub RemoveHyperLinksGLobally()
Dim i As Integer
For i = ActiveDocument.Hyperlinks.Count To 1 Step -1
ActiveDocument.Hyperlinks(i).Delete
Next i
End Sub

4. Press CTRL S to save this module.
5. Now, from the FILE menu, select “CLOSE AND RETURN TO MICROSOFT WORD”.
6. When back into your Word document, now just press ALT F8 to bring up the MACROS selection window (or you can always do TOOLS — > MACRO — > MACROS)

Not to worry, this does not delete the text, it just converts the hyperlink fields to plain text. However, if your original hyperlink had some formatting and you don’t want to lose that formatting for the text, but just want to get rid of the underlying URL, here’s some handy code for that too:

Sub RemoveHyperLinksGLoballyButPreserveCharacterStyle()
Dim i As Long, myRange As Range
For i = ActiveDocument.Hyperlinks.Count To 1 Step -1
With ActiveDocument.Hyperlinks(i)
Set myRange = .Range
.Delete
myRange.Style = wdStyleHyperlink
End With
Next i
End Sub

TIP: Microsoft Word also has the “function” to auto-convert any text you type, that looks like a URL, into a hyperlinked URL. If you want to prevent this, select TOOLS — > AUTOCORRECT — > AUTOFORMAT AS YOU TYPE, and under “Replace as you type”, turn off “Internet and network paths with hyperlinks”.
B. Microsoft Excel

1. Same process as a MS Word document. From Excel, fire up the VB editor (ALT F11).
2. The Visual Basic interface will open up. From the INSERT menu, click on MODULE to add a module.
3. A new document opens up. In there, paste the following code:

Sub RemoveHyperLinksGLobally()
Dim i As Integer
For i = ActiveSheet.Hyperlinks.Count To 1 Step -1
ActiveSheet.Hyperlinks(i).Delete
Next i
End Sub

4. The only difference from the code for MS Word is highlighted in green. ActiveSheet, instead of ActiveDocument.
5. Now, from the FILE menu, select “CLOSE AND RETURN TO MICROSOFT EXCEL”.
6. When back into your Excel document, now just press ALT F8 to bring up the MACROS selection window (or you can always do TOOLS — > MACRO — > MACROS) and select the right macro. Bingo.

However, since we only work with the “ActiveSheet” in the above example, we remove the hyperlinks only from the single active sheet that is currently on the screen. To remove all the hyperlinks from all the worksheets in an Excel document, this code is handy:

Sub RemoveHyperLinksGLoballyFromAllWorksheets()
Dim i As Integer, wSheet As Worksheet
For Each wSheet In Worksheets
For i = wSheet.Hyperlinks.Count To 1 Step -1
wSheet.Hyperlinks(i).Delete
Next i
Next wSheet
End Sub

Hopefull, this gives you ideas on how to author other macros too. With slight tweaks in code, they can be used across all Office software. Macros are powerful ways of making your editing fast. Plus, they are only a keystroke away (ALT F8) whenever you need them!

Need a primer to Microsoft Office macros? Read this interesting 101 piece from PC World first: http://snipurl.com/macros.

No comments:

Post a Comment