워크시트 개체의 속성중에는 Visible이
있습니다. 이 속성은 워크시트를 보이거나 숨기는 역할을 합니다. 그런데
이 속성이 사람을 당황하게 만듭니다. 무엇을 보이거나 숨긴다면 True 혹은 False이면 충분할텐데
예상과는 달리 Visible속성에는 xlSheetVisibility의 열거형
상수값으로 xlSheetHidden, xlSheetVeryHidden, xlSheetVisible중
하나를 사용할 수 있습니다.
워크시트를 보이도록 하려면
xlSheetVisible값을 지정하면 됩니다. 그런데 워크시트를
숨기기 위해서 사용하는 상수값으로 xlSheetHidden, xlSheetVeryHidden가 있습니다.
이 대목이 헷갈리는 거죠. 과연 xlSheetHidden과 xlSheetVeryHidden이 무슨
차이일까요? (저는 이를
“그냥
숨기기”,
“심하게
숨기기”로
바꿔 부르곤 합니다)
개발자들의 동의보감(東醫寶鑑)인
MSDN에는 다음과 같은 잉글리시(English)가 있습니다.
The Visible property allows you to
show or hide an existing sheet without having to
delete and recreate the sheet. Set the Visibility
property to one of the xlSheetVisibility enumerated
values (xlSheetHidden, xlSheetVeryHidden,
xlSheetVisible). Using xlSheetHidden allows users to
unhide the sheet through the Excel interface; using
xlSheetVeryHidden requires that you run code to unhide
the sheet |
위의 글을 요약하면
Visible속성을 xlSheetHidden으로 지정하면 사용자가 엑셀
워크시트메뉴(서식-시트-숨기기 취소)를 사용하여 시트를 다시
보이도록 허용합니다. 그러나 xlSheetVeryHidden으로 지정한다면 오직 코드 실행를 통해서만
시트를 보일 수 있게 합니다.
Sheet1.Visible = xlSheetHidden을
실행하고 워크시트메뉴 서식-시트를 클릭하면
숨기기 취소 메뉴항목이 사용가능해진 걸 볼 수 있습니다.
즉 사용자는 이 메뉴를 통해 Sheet1을 다시 보이도록 만들 수 있는 겁니다.
Sheet1.Visible = xlSheetVeryHidden을
실행하면 숨기기 취소 메뉴항목이 비활성화되어 오직
Sheet1.Visible = xlSheetVisible을 실행해야 Sheet1을 볼 수 있습니다.
워크시트를 숨기려는 의도는
사용자에게 못 볼 걸 보여주고 싶지 않겠다는 뜻입니다. 그래서 많은 코딩
예를 보면 xlSheetHidden보다는 xlSheetVeryHidden을 사용합니다. |