【问题标题】:VBA macro for simulating Ctrl+click on a bookmark/hyperlink用于模拟 Ctrl+单击书签/超链接的 VBA 宏
【发布时间】:2017-09-13 04:52:03
【问题描述】:

我正在尝试在 Microsoft Word 中编写一个 VBA 宏来执行与 Ctrl+click 相同的操作(点击链接或转到书签)。

我尝试过 SendKeys,但我认为它不适用于鼠标左键。

我实际上想出了一个部分可行的解决方案,涉及使用 Selection.GoTo What:=wdGoToBookmark, Name:=BLA但不幸的是,这意味着我不能使用 ctrl+

因此,与其想出我自己的解决方案,实际上有没有办法将 Ctrl+click 的操作绑定到另一个按钮?或者有没有办法编写一个宏来执行相同的操作,包括跟踪光标的历史?

【问题讨论】:

  • 这可能有用吗?:: stackoverflow.com/questions/3166265/…
  • 试试Selection.Hyperlinks(1).Follow。使用 marco 记录器获取编码提示。
  • 以上两个cmets都严格只用于超链接。我对书签更感兴趣(但由于默认情况下 Ctrl+click 对两者都有效,所以我提到了两者)。
  • 您到底想完成什么?选择一个超链接,运行宏,然后呢?从逻辑上讲,选择应该更改为超链接的目标。所以,你想要另一个动作(如何触发?)将选择返回到你来自哪里?这是你的意图吗?
  • 我想关注一个书签链接,并能够使用 Ctrl+

标签: vba ms-word


【解决方案1】:

下面的代码应该做你想做的事。将其安装在标准代码模块上。

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 回到你从哪里来。请注意,您可以从任何地方返回,也可以多次返回。

您可能希望创建键盘快捷键来调用两个潜艇。

【讨论】:

    猜你喜欢
    • 2019-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-13
    • 2023-04-01
    • 2021-08-07
    • 1970-01-01
    • 2016-08-03
    相关资源
    最近更新 更多