2014-01-15 45 views
0

我正在使用Word中的宏(它也使用Excel,但是nvm),我需要檢查光標當前是否位於兩個特定的書籤之間。Word VBA - 檢查光標是否在兩個書籤之間

說實話,我不知道如何解決這個問題。我用谷歌,我用了stackoverflow搜索,並沒有發現這個話題。這是我第一個Word的VBA。

請理解,我沒有提供任何代碼 - 正如我所說,不知道如何嘗試寫它,我的研究沒有返回任何結果。

+0

您想用哪種方式指出應該考慮哪些書籤?通過寫它的名字? –

+0

準確地給出他們的名字。 – murvs

回答

1

作爲檢查選擇的開始是否在名稱傳遞給函數的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特性使一些自己的其他修改。

+0

非常感謝。我不知道,我可以使用>和<接受範圍! – murvs

+1

如果這對你有效,請不要忘記[[這]](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)。 –

+0

完成!我今天很匆忙,而我在這裏是新人。 – murvs

相關問題