#1
|
||||
|
||||
How to insert hyperlink based on the text
Hi,
I was searching on the net if it is possible to find specific text and then convert it to hyperlink for example I have patent number US 20140343287 A1 I would like to insert hyperlink to the text the formate for inserting hyperlink is based on what we find without space like https://www.google.co.in/patents/US20140343287A1?cl=en or any formate i desire which will be the same only the text will be replace I was able to make the link using find and replace funciton of word. Find what ([A-Z]{2}) ([0-9]{4,}) ([A-Z0-9]{1,2}) Replace with https://www.google.co.in/patents/\1\2\3?cl=en |
#2
|
||||
|
||||
You can do it with a macro
Code:
Sub AddHLink() Dim oRng As Range Dim strLink As String Set oRng = ActiveDocument.Range With oRng.Find Do While .Execute(FindText:="([A-Z]{2}) ([0-9]{4,}) ([A-Z0-9]{1,2})", MatchWildcards:=True) strLink = oRng.Text strLink = Replace(strLink, Chr(32), "") strLink = "https://www.google.co.in/patents/" & strLink & "?cl=en \t _blank" oRng.Text = "" ActiveDocument.Fields.Add oRng, wdFieldHyperlink, strLink, False oRng.Fields.Update oRng.Collapse 0 Loop End With lbl_Exit: Set oRng = Nothing Exit Sub End Sub
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
#3
|
||||
|
||||
Working Fine but I made mistake in asking.
Apology for not making it clear what I wanted.
Actually I want Original text to be intact. just want to insert hyperlink to the text (patent Numbers). I made one more step after your macro, converted it back to the original text. find what: https://www.google.co.in/patents/([A-Z]{2})([0-9]{4,})([A-Z0-9]{1,2})?cl=en Replaced with: \1 \2 \3 Final text retained the link. Thanks |
#4
|
||||
|
||||
If you want to use the original string as the display text then modify the original macro as follows:
Code:
Sub AddHLink() Dim oRng As Range Dim strLink As String Set oRng = ActiveDocument.Range With oRng.Find Do While .Execute(FindText:="([A-Z]{2}) ([0-9]{4,}) ([A-Z0-9]{1,2})", MatchWildcards:=True) strLink = oRng.Text strLink = Replace(strLink, Chr(32), "") strLink = "https://www.google.co.in/patents/" & strLink & "?cl=en \t _blank" ActiveDocument.Hyperlinks.Add Anchor:=oRng, _ Address:=strLink, _ TextToDisplay:=oRng.Text oRng.End = oRng.Fields(1).Result.End oRng.Collapse 0 Loop End With lbl_Exit: Set oRng = Nothing Exit Sub End Sub
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
Tags |
microsoft word, vba, wildcard |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
VBA Search Table for Text/Select Text/Insert Hyperlink | sldrellich | Word VBA | 3 | 03-24-2015 01:09 PM |
Insert a hyperlink in body of email | ChuckDrago | Outlook | 0 | 06-28-2013 06:51 AM |
Insert the Hyperlink and hide all sheets except clicking Hyperlink | PRADEEPB270 | Excel | 1 | 02-22-2013 09:47 AM |
Hyperlink/Data Insert & replace | jclinton | Word | 1 | 09-19-2012 07:22 PM |
Insert Hyperlink - Differing Functionality | nell3773 | Word | 0 | 04-30-2010 12:23 PM |