用于模拟Ctrl+单击书签/超链接的VBA宏
我正试图在MicrosoftWord中编写一个VBA宏,以执行与Ctrl+click跟随链接或转到书签相同的操作 我试过SendKeys,但我认为它不适用于鼠标左键单击 实际上,我已经提出了一个部分有效的解决方案,包括使用 Selection.GoTo What:=wdGoToBookmark,Name:=bla但不幸的是,这意味着我无法使用ctrl+<,因为以前光标所在位置的历史记录似乎没有保存用于模拟Ctrl+单击书签/超链接的VBA宏,vba,ms-word,Vba,Ms Word,我正试图在MicrosoftWord中编写一个VBA宏,以执行与Ctrl+click跟随链接或转到书签相同的操作 我试过SendKeys,但我认为它不适用于鼠标左键单击 实际上,我已经提出了一个部分有效的解决方案,包括使用 Selection.GoTo What:=wdGoToBookmark,Name:=bla但不幸的是,这意味着我无法使用ctrl+
因此,除了我自己的解决方案,实际上有没有一种方法可以将Ctrl+单击的动作绑定到另一个按钮上?或者有没有一种方法可以编写一个宏来执行相同的操作,包括跟踪光标的历史记录?下面的代码应该可以执行您想要的操作。将其安装在标准代码模块上
Option Explicit
Dim ReturnRange As Range
Sub GotoBookmark()
' 13 Sep 2017
With Selection
If .Hyperlinks.Count Then
Set ReturnRange = .Range
.Hyperlinks(1).Follow
End If
End With
End Sub
Sub ReturnToLink()
' 13 Sep 2017
If Not ReturnRange Is Nothing Then ReturnRange.Select
End Sub
出于测试目的,请在文档中创建书签和指向它的超链接。选择超链接并运行Sub-GotoBookmark。然后运行过程ReturnToLink返回到您来自的地方。请注意,您可以从任何地方返回,也可以多次返回
您可能希望创建键盘快捷键来调用这两个sub。下面的代码应该可以满足您的需要。将其安装在标准代码模块上
Option Explicit
Dim ReturnRange As Range
Sub GotoBookmark()
' 13 Sep 2017
With Selection
If .Hyperlinks.Count Then
Set ReturnRange = .Range
.Hyperlinks(1).Follow
End If
End With
End Sub
Sub ReturnToLink()
' 13 Sep 2017
If Not ReturnRange Is Nothing Then ReturnRange.Select
End Sub
出于测试目的,请在文档中创建书签和指向它的超链接。选择超链接并运行Sub-GotoBookmark。然后运行过程ReturnToLink返回到您来自的地方。请注意,您可以从任何地方返回,也可以多次返回
您可能希望创建键盘快捷键来调用这两个sub。这是否有用?::尝试Selection.Hyperlinks1.Follow。使用marco recorder获取编码提示。以上两条注释仅适用于超链接。我对书签更感兴趣,但由于默认情况下Ctrl+click对这两种方式都有效,所以我提到了这两种方式。您到底希望实现什么?选择一个超链接,运行宏,然后做什么?从逻辑上讲,所选内容应更改为超链接的目标。那么,你想要另一个动作如何触发?将所选内容返回到您来自的位置?这是你的意图吗?我想跟随书签链接,并能够使用Ctrl+<导航回我以前所在的位置。实际上,我只想将Ctrl+click绑定到键盘上的另一个按钮,但由于这似乎不可能,我想尝试复制Ctrl+click行为。按照我在文章中提到的书签链接进行操作是不够的,因为我无法将Ctrl+<返回到上一个位置,所以我显然遗漏了一些内容。这是否有任何用处?::尝试Selection.Hyperlinks1.Follow。使用marco recorder获取编码提示。以上两条注释仅适用于超链接。我对书签更感兴趣,但由于默认情况下Ctrl+click对这两种方式都有效,所以我提到了这两种方式。您到底希望实现什么?选择一个超链接,运行宏,然后做什么?从逻辑上讲,所选内容应更改为超链接的目标。那么,你想要另一个动作如何触发?将所选内容返回到您来自的位置?这是你的意图吗?我想跟随书签链接,并能够使用Ctrl+<导航回我以前所在的位置。实际上,我只想将Ctrl+click绑定到键盘上的另一个按钮,但由于这似乎不可能,我想尝试复制Ctrl+click行为。按照我在文章中提到的书签链接是不够的,因为我无法将Ctrl+<返回到上一个位置,所以我显然错过了一些东西。