기본 콘텐츠로 건너뛰기 보완적인 콘텐츠로 건너뛰기

내부 매크로 해석기

QlikView 내부에서 내장 스크립팅 엔진을 사용한 자동화를 통해 QlikView 개체에 액세스할 수 있습니다.

매크로 호출

VBScript 또는 JScript로 작성된 매크로는 QlikView 문서 안에서 여러 다른 방법으로 호출할 수 있습니다.

문서 이벤트:

  • QlikView 문서를 연 후 매크로가 실행될 수 있습니다.
  • 스크립트 재실행 후 매크로가 실행될 수 있습니다.
  • 용량 축소 명령 후 매크로가 실행될 수 있습니다.
  • 문서에서 필드가 선택된 후 매크로가 실행될 수 있습니다.
  • 문서에서 변수 값이 변경되면 매크로가 실행될 수 있습니다.

문서 이벤트에서 호출되는 매크로는 문서 속성: 트리거 페이지에서 만듭니다.

시트 이벤트:

  • 시트가 활성화된 후 매크로가 실행될 수 있습니다.
  • 시트가 비활성화되면 매크로가 실행될 수 있습니다.

시트 이벤트에서 호출되는 매크로는 시트 속성: 트리거 페이지에서 만듭니다.

시트 개체 이벤트:

  • 시트 개체가 활성화된 후 매크로가 실행될 수 있습니다.
  • 시트 개체가 비활성화되면 매크로가 실행될 수 있습니다.

시트 개체 이벤트에서 호출되는 매크로는 시트 속성: 트리거 페이지에서 만듭니다.

버튼 이벤트:

  • 버튼을 매크로 버튼으로 정의할 수 있습니다.

매크로 버튼 이벤트에서 호출되는 매크로는 버튼의 동작 페이지에서 만듭니다.

필드 이벤트:

  • 지정된 필드에서 선택을 수행할 때 매크로가 실행될 수 있습니다.
  • 지정된 필드와 논리적으로 연결된 필드에서 선택이 수행되면 매크로가 실행될 수 있습니다.
  • 특정 필드에서 선택 내용이 잠기면 매크로가 실행될 수 있습니다.
  • 특정 필드에서 선택 내용의 잠금이 해제되면 매크로가 실행될 수 있습니다.

필드 이벤트에서 호출되는 매크로는 문서 속성: 트리거 페이지에서 만듭니다.

변수 이벤트:

  • 지정된 스크립트 변수에 직접 새 값을 입력할 때 매크로가 실행될 수 있습니다.
  • 문서의 논리적 상태 또는 다른 변수가 변경됨에 따라 지정된 변수의 값이 변경되면 매크로가 실행될 수 있습니다.

변수 이벤트에서 호출되는 매크로는 문서 속성: 트리거 페이지에서 만듭니다.

매크로 편집기:

매크로는 트리거되는 방법과는 관계없이 모듈 편집 대화 상자에서 만들고 편집합니다.

 

이 섹션에서는 매우 유용한 VBScript 매크로의 예를 소개합니다.

Using VBScript Input Boxes for User Interaction

rem ** Clear selections, ask for product, **

rem ** select that product, **

rem ** go to sheet "Market", **

rem ** show pivot table "Sales" **

Sub ChooseValue

Set q = ActiveDocument

q.ClearAll (false)

Set f = q.Fields("Model Name")

x = inputbox ("Enter product")

f.Select(x)

set s = q.Sheets("Market")

s.Activate

s.SheetObjects("Sales").Activate

end sub

JScript용 특수 라이브러리 함수

VBScript 매크로에서는 표준 VBScript 함수인 InputBoxMsgBox를 자유롭게 사용할 수 있지만 JScript를 사용할 경우에는 이에 해당하는 함수가 없습니다. 이러한 문제를 해결하기 위해 qvlib라는 특수 라이브러리가 추가되었습니다. 아래 예에서 함수를 사용하는 방법을 볼 수 있습니다.

// JScript

function Test()

{

personName = qvlib.InputBox("What is you name?")

msg = "Hello " + personName + " !"

qvlib.MsgBox(msg)

}

아래 예에 나오는 것처럼 qvlib 함수는 VBScript 매크로에서도 작동하지만 이 경우에는 일반 VBScript 함수인 InputBoxMsgBox를 사용해도 됩니다.

rem VBScript

sub TestModule

name = qvlib.InputBox("What is your name?")

msg = "Hello "

msg = msg + name + " !"

qvlib.MsgBox(msg)

end sub

이 페이지가 도움이 되었습니까?

이 페이지 또는 해당 콘텐츠에서 오타, 누락된 단계 또는 기술적 오류와 같은 문제를 발견하면 개선 방법을 알려 주십시오!

분석 현대화 프로그램에 참여

Remove banner from view

분석 현대화 프로그램으로 귀중한 QlikView 앱을 손상시키지 않고 현대화하십시오. 여기를 클릭 하여 자세한 내용을 참조하거나 다음에 연결하십시오. ampquestions@qlik.com