View Single Post
 
Old 09-08-2025, 04:21 PM
chrisjj chrisjj is offline Windows 7 64bit Office 97-2003
Competent Performer
 
Join Date: Aug 2025
Posts: 120
chrisjj is on a distinguished road
Default Word 2003 Sub InsertHyperlinksFromClipboard macro

You might find this handy.

Needs Microsoft Forms 2.0 Object Library.

Code:
Sub InsertHyperlinksFromClipboard_OnePerLine_Corrected()
    Dim clipboard As New DataObject
    Dim clipboardText As String
    Dim lines() As String
    Dim i As Long
    Dim lineText As String
    Dim doc As Document
    Dim para As Paragraph
    Dim insertPos As Range
    
    On Error GoTo ErrorHandler

    ' Get clipboard text
    clipboard.GetFromClipboard
    clipboardText = clipboard.GetText

    lines = Split(clipboardText, vbCrLf)
    Set doc = ActiveDocument

    ' Start insertion at current selection
    Set insertPos = Selection.Range
    insertPos.Collapse Direction:=wdCollapseStart

    For i = 0 To UBound(lines)
        lineText = Trim(lines(i))
        If Len(lineText) > 0 Then
            ' Insert a new paragraph at the insertion point
            insertPos.InsertParagraphBefore
            ' Move insertion point to the new paragraph
            insertPos.MoveStart Unit:=wdParagraph, Count:=-1
            insertPos.Collapse Direction:=wdCollapseStart
            
            ' Insert hyperlink into this paragraph
            doc.Hyperlinks.Add Anchor:=insertPos, Address:=lineText, TextToDisplay:=lineText
            
            ' Move insertion point to end of paragraph for next insertion
            insertPos.Collapse Direction:=wdCollapseEnd
        End If
    Next i

    MsgBox "Inserted hyperlinks, one per paragraph.", vbInformation
    Exit Sub

ErrorHandler:
    MsgBox "Error accessing clipboard. Make sure Microsoft Forms 2.0 Object Library is enabled.", vbCritical
End Sub
Reply With Quote