2014-01-15 4 views
0

Word (Excel에서도 사용하지만 nvm)에서 작업 중이며 커서가 현재 두 개의 특정 책갈피 사이에 있는지 확인해야합니다.Word VBA - 커서가 두 개의 책갈피 사이에 있는지 확인하십시오.

솔직히 말해서이 문제에 어떻게 접근해야하는지 잘 모릅니다. 나는 Google을 사용하여 stackoverflow 검색을 사용했으며이 주제에 대해 아무 것도 발견하지 못했습니다. 그것은 Word 용 첫 번째 VBA입니다.

내가 말한대로 코드를 작성하지 않았으므로 작성 방법을 모르고 연구 결과도 반환되지 않았습니다.

+0

어떤 방식으로 북마크를 고려해야할까요? 그 이름을 써서? –

+0

바로 그 이름을 알려줍니다. – murvs

답변

1

다음 함수는 선택 항목의 시작 부분이 이름을 함수로 전달한 두 개의 책갈피 사이에 있는지 확인한 결과 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

이 기능이 작동하는 경우 [THIS] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)를 잊지 마시기 바랍니다. –

+0

완료! 저는 오늘 서둘러 있었고 여기 새로 왔습니다. – murvs