Ihor希望自动将URL超链接插入到Word文档中。该URL将与一个短语相关联,例如“ click here”。他首先将特定网站的URL复制到剪贴板。

然后,他记录一个宏,该宏将打开“插入超链接”对话框(Ctrl + K),并将剪贴板中的URL粘贴到适当的字段中(Ctrl + V),然后单击“确定”。当他以后运行宏时,每次运行宏时都会给他相同的URL。 Ihor每次运行宏时都希望将另一个URL粘贴到对话框中,但是似乎缺少该操作的方法。

记录宏时,它实际上是关于其功能的文字-它准确记录了您执行的步骤,包括如何填写对话框。解决方案不是寻找将新信息粘贴到对话框中的方法,而是寻找如何创建超链接。

如果在运行宏记录器的情况下插入超链接,将记录以下内容:

Sub Macro1()

' ' Macro1 Macro ' '     ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:= _         "//", SubAddress:="", ScreenTip:="", TextToDisplay:= _         "click here"

End Sub

Ihor想要更改的是超链接的目标,该超链接已分配给Address属性;这就是“粘贴”到对话框的“地址”字段中的内容。为此,您可以以一种简单的方式更改宏,例如:

Sub Macro2()

Dim sTemp As String     sTemp = "//"



ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, _       Address:= sTemp, SubAddress:="", ScreenTip:="", _       TextToDisplay:= "click here"

End Sub

在本示例中,所有要做的就是删除宏开头的一些不必要的注释,并创建一个字符串变量sTemp,该变量现在包含超链接的目标。然后将此变量分配给Address属性。为了更改目标,只需更改sTemp变量的值即可,并且有许多方法可以完成。

一种方法是使用InputBox函数以这种方式创建自己的对话框:

Sub Macro3()

Dim sTemp As String     Dim sPrompt As String     Dim sTitle As String

sPrompt = "Enter the target for the hyperlink"

sTitle = "Hyperlink Destination"

sTemp = "//"

sTemp = InputBox(sPrompt, sTitle, sTemp)



ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, _       Address:= sTemp, SubAddress:="", ScreenTip:="", _       TextToDisplay:= "click here"

End Sub

当然,Ihor提到在他的处理过程中,他实际上将URL复制到剪贴板。如果这是他要使用的过程,则可以在运行宏时根据剪贴板中的内容分配URL。这是您的处理方式:

Sub Macro4()

Dim sTemp As String     Dim MyData As DataObject     Set MyData = New DataObject

MyData.GetFromClipboard     sTemp = Trim(MyData.GetText(1))



ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, _       Address:= sTemp, SubAddress:="", ScreenTip:="", _       TextToDisplay:= "click here"

End Sub

为了以这种方式利用剪贴板,您需要在VBA编辑器中为Microsoft表单设置参考。 (从编辑器的“工具”菜单中选择“引用”。)

同样,请注意,所有这些示例都会修改分配给新超链接的Address属性的内容。您很有可能还希望更改宏以修改分配给TextToDisplay属性的内容。

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)上描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(11906)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。 Word的旧菜单界面在这里: