繁体   English   中英

Word VBA-检查光标是否在两个书签之间

[英]Word VBA - check if cursor is between two bookmarks

我正在使用Word中的Macro(它也使用Excel,但使用nvm),并且需要检查光标当前是否在两个特定的书签之间。

老实说,我不知道如何解决这个问题。 我用谷歌,我用stackoverflow搜索,但没有找到关于这个主题。 这是我的第一个VBA for Word。

请理解,我没有提供任何代码-正如我所说,不知道如何尝试编写代码,我的研究也未返回任何结果。

由于检查选择的开头是否在按名称传递给函数的2个书签之间,因此以下函数将返回False或True。 传递书签名称的顺序无关紧要。

Function BetweenBookmarks(FirstBookmarkName, SecondBookmarkName)

    If Selection.Start > ActiveDocument.Bookmarks(FirstBookmarkName).Range.End _
        And _
        Selection.End < ActiveDocument.Bookmarks(SecondBookmarkName).Range.Start Then

            BetweenBookmarks = True

    ElseIf Selection.Start > ActiveDocument.Bookmarks(SecondBookmarkName).Range.End _
        And _
        Selection.End < ActiveDocument.Bookmarks(FirstBookmarkName).Range.Start Then

            BetweenBookmarks = True
    Else

            BetweenBookmarks = False
    End If
End Function

可以通过以下方式调用函数:

Debug.Print BetweenBookmarks("First", "Second")
Debug.Print BetweenBookmarks("Second", "First")

您可以通过更改函数中的.End.Start属性自行进行其他修改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM