대부분의 독자는 VBA를 사용하여 함수와 서브 루틴을 만들 수 있다는 것을 이미 알고 있습니다. 이것은 VBA의 이름 인 Visual Basic에서와 다르지 않습니다. 일반적으로 매크로 대화 상자 (Alt + F8)를 표시 할 때 매크로 목록에 다음 세 가지 조건 중 하나가 충족되지 않는 한 매크로가 표시됩니다.

  • 매크로는 함수입니다. 함수는 일반적으로 정보를 반환하며 정보를 전달해야합니다. 매크로 목록에서 매크로를 실행하는 것은 이러한 일이 발생하는 것을 허용하지 않기 때문에 Word는이를 나열 할 필요가 없습니다.

  • 매크로는 매개 변수가있는 서브 루틴입니다. Word에서는 매개 변수가 필요하고 매크로 목록에서 서브 루틴을 선택하여 매개 변수를 제공 할 수 없으므로 나열 할 필요가 없다고 가정합니다.

  • 서브 루틴이 비공개로 선언되었습니다. 이는 서브 루틴이 선언 된 모듈 내에서 코드화하는 데만 유용하다는 것을 의미합니다.

이 세 가지 조건의 결과는 매크로 대화 상자에 나열된 유일한 매크로 유형이 매개 변수가없는 비 개인 서브 루틴이라는 것입니다. 그러나 특정 상황에서는 이러한 목록도 원하지 않을 수 있습니다. 예를 들어, 독자적으로 호출되는 경우 유용하지 않은 일부 범용 서브 루틴을 생성했을 수 있습니다. 다른 코드에서 호출되도록 설계되었습니다. 예를 들어, 다음 매크로를 고려하십시오.

Sub MySub()

MsgBox "We are running the macro"

End Sub

이 매크로는 매크로 대화 상자에 나타납니다. 표시하지 않으려면 매크로 목록에서 매크로를 제외하는 세 가지 방법을 살펴보면 다음과 같은 몇 가지 해결 방법을 찾을 수 있습니다. 첫 번째 잠재적 인 해결책은 코드를 조사하고 그것이 정말로 “보편적”인지 알아내는 것입니다. 단일 모듈 이상의 코드가 필요합니까? 그렇지 않은 경우 서브 루틴 Private을 선언하십시오. 매크로 대화 상자에 나타나지 않습니다. 따라서 이전 문제 매크로는 다음과 같습니다.

Private Sub MySub()

MsgBox "We are running the macro"

End Sub

매크로를 숨기는 두 번째 방법은 단순히 함수로 변환하는 것입니다.

특히 값을 반환하지 않으려는 경우 이상하게 들릴 수 있지만 완벽하게 허용됩니다. VBA에서 함수는 값을 반환 할 필요가 없습니다. 반환 값을 명시 적으로 선언하지 않으면 함수는 기본 결과를 반환합니다 (예 : Boolean은 False를 반환하고 String은 “”를 반환). 따라서 문제 절차를 함수로 변경하고 다음과 같이 선언 할 수 있습니다.

Function MySub() As Boolean     MsgBox "We are running the macro"

End Function

이 절차는 매크로 대화 상자에 표시되지 않으며 인수가 필요하지 않습니다. 기본적으로 False를 반환하지만이 결과는 무시할 수 있습니다. 변경하는 서브 루틴의 특성에 따라 코드에서 수행되는 작업의 성공 여부에 따라 변환 된 함수가 True 또는 False를 반환하도록 허용하는 것이 유익 할 수 있습니다. 이 경우 변환 된 함수는 값이있는 것을 반환하기 때문에 실제 함수이며 실제로 더미 서브 루틴이 아닙니다.

세 번째 잠재적 인 해결책은 서브 루틴과 함께 더미 매개 변수를 사용하는 것입니다. 서브 루틴 자체 내에서 이들을 사용하여 아무것도 할 필요가 없지만 이들을 포함하면 절차가 매크로 목록에 나열되지 않습니다. 이 시나리오에서 문제 서브 루틴은 다음과 같이 변경됩니다.

Sub MySub(Void As Integer)

MsgBox "We are running the macro"

End Sub

이제 프로 시저가 매크로 목록에 나열되지 않지만 서브 루틴이 호출되는 방식을 변경해야합니다. 매개 변수가 사용되지 않더라도 매개 변수가 전달되도록 모든 인스턴스를 수정해야합니다.

_ 참고 : _

이 페이지 (또는 WordTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / wordribbon-WordTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_WordTips_는 비용 효율적인 Microsoft Word 교육을위한 소스입니다.

(Microsoft Word는 세계에서 가장 널리 사용되는 워드 프로세싱 소프트웨어입니다.)이 팁 (1137)은 Microsoft Word 97, 2000, 2002 및 2003에 적용됩니다. Word의 리본 인터페이스에 대한이 팁 버전 (Word 2007)을 찾을 수 있습니다. 이후) 여기 :

link : / wordribbon-Hiding_Macros [Hiding Macros].