复制链接地址
如何将超链接的地址复制到剪贴板?复制链接地址
使用“录制宏”选项,我得到这个:
Sub CopyHyperlink()
Selection.Range.Hyperlinks(1).Range.Fields(1).Result.Select
Selection.Copy
End Sub
但是,这并没有给我想要的结果。看图片来比较实际的和预期的结果:
正如你看到的,我的代码实际上是复制链接的文本,而不是它的地址。
也许,应该有类似
Selection.Range.Hyperlinks(1).Address
,但它并不在所有的工作。
如何使其正常工作?
假设您已使用Selection
,因为您使用宏记录器记录它,您应该根据您的工作簿更改它。
插入以下库:
工具 - >引用 - > Microsoft窗体2.0对象库
,并使用下面的代码:
Sub CopyHyperlink()
Dim clipboard As MSForms.DataObject
Set clipboard = New MSForms.DataObject
clipboard.SetText Selection.Hyperlinks(1).Address
clipboard.PutInClipboard
End Sub
Upvoted,虽然我怀疑OP意味着将其粘贴在工作簿中的某个地方,这将使整个剪贴板的事情没有意义。只需抓住地址并将其写入需要的地方即可。 –
@ Mat'sMug谢谢。由于OP提到剪贴板,我明白他想将其复制到剪贴板,以便例如他可以在其他平台中使用它。如果他只是想复制它,就不会像你所说的那样。 – Tehscript
@Tehscript它按预期工作,非常感谢。顺便说一下,在我的Word 2016中,菜单中缺少了库(工具>参考)。我使用了解决方法[从这里](https://stackoverflow.com/questions/35610429/why-do-i-not-see-the-microsoft-forms-2-0-object-library) - 这意味着,单击插入>用户表单。但我不确定这是最好还是最准确的方法。另一个信息可以在这里找到(https://stackoverflow.com/questions/35664768/cant-find-microsoft-forms-2-0-object-library-or-fm20-dll)。 –
步骤一,不使用'选择'工作。第二步,你是否在* Object Browser *(F2)中查找是否有超链接类,它的成员是什么? –
嗨。 [Here are members](http://i.imgur.com/MllODRy.png) –
所以,你去了。你打算在哪里粘贴它?如果你的意思是在代码中的某个地方使用它,你可以跳过整个剪贴板/复制部分。 –