MS Word VBA Extracting hypertextové odkazy z vybraného textu v aplikaci word

0

Otázka

Byl bych vděčný, kdyby někdo mi mohl pomoci, a naznačují, co by se mělo změnit v kódu níže (našel jsem to na www.extendoffice.com) omezit to, aby vybrané části textu (ne do práce v celém dokumentu).
Kód je získávání odkazů z jedné word doc do druhého.

Sub HyperlinksExtract()
    Dim oLink As Hyperlink
    Dim docCurrent As Document 'current document
    Dim docNew As Document 'new document
    Dim rngStory As StoryRanges
    Set docCurrent = ActiveDocument
    Set docNew = Documents.Add
    For Each oLink In docCurrent.Hyperlinks
        oLink.range.Copy
        docNew.Activate
        Selection.Paste
        Selection.TypeParagraph
    Next
     
    Set docNew = Nothing
    Set docCurrent = Nothing
End Sub
hyperlink ms-word selection vba
2021-10-29 14:38:25
1

Nejlepší odpověď

0

Trik je ukládat vybrané odkazy v proměnné selectedHyperlinks.

Navíc vždy se snažím, aby se zabránilo kopírovat/vložit.Proto jsem pomocí Hyperlinks.Add metoda chcete-li vložit odkazy do nového dokumentu

Sub HyperlinksExtract()

    Dim docCurrent As Document
    Dim docNew As Document
    
    Set docNew = Documents.Add
    Dim rgTarget As Range: Set rgTarget = docNew.Range
    
    Dim selectedHyperlinks As Hyperlinks
    Set selectedHyperlinks = Selection.Hyperlinks   '<<< this is where the selected hyperlinks are stored in the variable
    
    Dim oLink As Hyperlink
    
    For Each oLink In selectedHyperlinks 
        rgTarget.Collapse wdCollapseEnd
        docNew.Hyperlinks.Add rgTarget, oLink.Address, oLink.SubAddress, , oLink.TextToDisplay
        rgTarget.Move wdParagraph, 1
        rgTarget.InsertParagraphAfter
    Next
     
End Sub

2021-11-04 18:41:52

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................