2014-07-17 4 views
0

getsheetbyId를 사용하여 숨겨진 시트에 액세스 할 수 있지만 해당 시트 ID가 필요합니다.
like :
ActiveDocument.GetSheetByID ("SH03");
qlikview 문서에서 각 숨겨진 시트에 해당하는 숨겨진 시트 ID를 얻는 방법.Qlikview : 숨겨진 시트 정보

답변

2

일부 연구를 통해 QlikView 매크로를 통해 숨겨진 시트 (가시성 조건이 설정된 시트)에 액세스 할 수 없음이 분명합니다. 내가 알 수있는 한, 이것은 QlikView 보안 모델 때문입니다. 시트가 표시되는 경우 (활성 시트 등)를 다음과 같이

, 당신은 시트의 ID에 액세스 할 수 있습니다

ActiveDocument.ActiveSheet.GetProperties.SheetID 

이, Document\SH01 예를 들어, 형식 Document\<sheet id> 당신에게 ID 문자열을 줄 것이다 . 그냥 ID로이 변환하고자하는 경우

, 당신은이를 사용할 수 있습니다

fullShtID = ActiveDocument.ActiveSheet.GetProperties.SheetID 
shtID = mid(fullShtID,instr(fullShtID,"\")+1) 

shtID 당신에게 줄 것이다 단지 SH01 등 "숨겨진"시트

그러나

, 가장 쉬운 방법은 시트 가시성의 조건을 변수로 설정 한 다음 매크로 코드에서 변수를 변경하는 것입니다. 이렇게하면 "숨겨진"시트를 표시하고 ID를 기록 할 수 있으며 (위와 같음) 변수를 설정하여 다시 숨길 수 있습니다. 이 해결 방법 외에도 직접 수행 할 방법이 없습니다.

+0

이 방법은 숨겨진 시트 용입니다. 마지막 "for 루프"를 실행하면 ActiveDocument.Sheets가 정의되지 않은 오류가 발생합니다. 숨겨진 시트 ID를 qlikview 문서에 넣고 싶습니다. – user3689126

+0

현재,이를 사용하고 있습니다 : NO_Of_SHEETS의 =의 QvDoc.NoOfSheets 다음 J를 들어 루프 에 대한 = 0 NO_OF_SHEETS-1 QvDoc.GetSheet (J)가 다음을 .GetProperties.SheetId 사람 :하지만 숨겨진 시트를 캡처하지 않습니다 NoofSheets – user3689126