jarhead
jarhead

Reputation: 59

Inserting hyperlink into Word bookmark with AutoHotkey

I have an AutoHotkey script that inserts values into various bookmarks in a Word document.

When inserting a hyperlink (email address), it inserts text. How do I pass it as a hyperlink?

I've read Hyperlinks.Add and tried implementing using the examples but I'm not sure how it translates with AutoHotkey. The examples reference ActiveDocument.
I'm inserting into a created document versus active document.

Relevant portions of my AutoHotkey script:

FilePath := A_Desktop "\Test\MyWordDoc.docx"
wdApp := ComObjCreate("Word.Application") ; Create an instance of Word.

MyDocNew := wdApp.Documents.Add(FilePath) ; Create a new document.

MyDocNew.Bookmarks("CMname").Range.Text := ManagerName
MyDocNew.Bookmarks("CMphone").Range.Text := ManagerPhone
MyDocNew.Bookmarks("CMemail").Range.Text := ManagerEmail

MyDocNew.ExportAsFixedFormat(A_Desktop "\Notice", 17) ; Export out as a PDF.
MyDocNew.Close(0) ; Close the document without saving.
wdApp.Quit()

I tried variations like

MyDocNew.Hyperlinks.Add(MyDocNew.Bookmarks("CMemail").Range, ManagerEmail)

Upvotes: 1

Views: 169

Answers (1)

jarhead
jarhead

Reputation: 59

It appears that adding .Item after MyDocNew.Bookmarks works!

Correct script:

MyDocNew.Hyperlinks.Add(MyDocNew.Bookmarks.Item("CMemail").Range, ManagerEmail)

Upvotes: 3

Related Questions