首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于将文本转换为超链接的Word宏

用于将文本转换为超链接的Word宏
EN

Stack Overflow用户
提问于 2013-06-15 09:55:16
回答 2查看 4.3K关注 0票数 0

我在word文档的结束语部分有大约400个链接。但是,这些链接只是普通文本,而不是指向URL的超链接。

下面是我结束语中引用的一个例子:

Odgerel Tseveen,Ganbold和Badmaarag Shagdarsuren。蒙古族法律制度和法律:概述。纽约大学豪泽全球法学院项目。2009年5月。http://www.nyulawglobal.org/globalex/Mongolia1.htm

如果将光标放在链接的末尾并按空格键,则链接将变为活动状态。

我想通过创建一个宏来自动化这个过程,这个宏将识别链接,而不必在每个单独的链接后创建一个空间。

有谁有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-15 11:16:54

代码语言:javascript
复制
Sub EndsToHLink()
    Dim eNote As Endnote
    Dim iFound As Integer
    Dim rLink As Range
    Dim iDot As Integer

    Application.ScreenUpdating = False
    For Each eNote In ActiveDocument.Endnotes
        'eNote.Range.Text = eNote.Range.Text & " "
        iFound = InStr(eNote.Range.Text, "http")
        iDot = 0
        If iFound > 0 Then
            If Right(eNote.Range.Text, 1) = "." Then iDot = 1
            Set rLink = eNote.Range
            rLink.SetRange Start:=eNote.Range.Start + iFound - 1, End:=eNote.Range.End - iDot
            rLink.Hyperlinks.Add rLink, rLink.Text
        End If

    Next eNote
    Application.ScreenUpdating = True
End Sub

你需要先测试它!

票数 1
EN

Stack Overflow用户

发布于 2013-06-15 10:07:01

添加一个空格并不能以编程的方式工作。下面将结束注释转换为超链接。

代码语言:javascript
复制
Sub EndsToHLink()
    Dim eNote As Endnote

    Application.ScreenUpdating = False
    For Each eNote In ActiveDocument.Endnotes
        'eNote.Range.Text = eNote.Range.Text & " "
        eNote.Range.Hyperlinks.Add eNote.Range, "http://" & eNote.Range.Text
    Next eNote
    Application.ScreenUpdating = True
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17119497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档