페이지 트리

버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

(※ Chrome, Edge 사용 권장, IE에서는 i-AUD팝업으로 띄울 때 메인 보고서 뒤에 나옵니다.)


i-Portal은 WebPortal가 다르게 동작합니다.  i-Portal은 밑에 링크를 확인하시기 바랍니다.

ProcessBot 하이퍼링크 팝업 데이터 수신 기능


메인 보고서 →

서브

팝업 보고서

1. ProcessBot 하이퍼링크 팝업


               <팝업 보고서 i-MATRIX>                         <팝업 보고서 i-AUD>

보고서타입 : Report, URL 선택 가능

보고서 : 다이얼로그 창을 통해 i-AUD, i-MATRIX 보고서 선택

팝업 사이즈 :  첫번째 값 : Width 두번째 값 : Height, Width X Height

(※ 입력하지 않을 경우 Width = 1000, height = 800)

변수이름 : 전달할 변수의 명(※ 현재 입력콤보로 나타나지만 텍스트박스로 변경될 예정, 사용자가 직접입력 해야 함)

변수값 : 전달할 변수의 값(매트릭스 이름정의 또는 셀주소)

Open 후 자동조회 : 팝업 창을 띄울 때 자동 조회 (※ i-MATRIX 보고서만 가능)

Close 후 결과수신 : 결과수신 셀에 결과가 리턴됨. (※ i-AUD 보고서만 가능)

결과수신셀 : 결과를 수신받을 매트릭스 이름정의 또는 셀주소

(※ Close 후 결과수신 설정시, 출력되는 창은 Modal로 출력 되어 Excel 작업이 불가능합니다.)

보고서 제목 : 보고서 제목부분과 버튼 부분을 Visible 처리

2. XAPI 하이퍼링크 팝업


코드 블럭
languagevb
titleXAPI 사용 예제
collapsetrue
Sub hyperlink()
    Dim mxmodule As Object
    Set mxmodule = Application.COMAddIns.Item("iMATRIX6.ExcelModule").Object

    Dim param1 As String    '보고서코드
    Dim param2 As String    '시트명
    Dim param3 As Integer   'LEFT
    Dim param4 As Integer   'TOP
    Dim param5 As Integer   'WIDTH
    Dim param6 As Integer   'HEIGHT
    Dim param7 As Integer   '보고서종류 (0:Report, 1:URL)
    Dim param8 As String    '변수 전달할변수명1=전달할변수값1&전달할변수명2=전달할변수값2&전달할변수명3=전달할변수값3
    Dim param9 As Boolean   '자동조회여부 true / false
    Dim param10 As Boolean   '결과수신여부 true / false
    Dim param11 As String    '결과수신셀주소 or 이름정의
    
    param1 = "REP03DAA4E72D1C47CB9367F6723F45C782"
    param2 = ""
    param3 = 0	' Left, Top 설정값이 0인경우 팝업위치는 중앙에 위치
    param4 = 0	' Left, Top 설정값이 0인경우 팝업위치는 중앙에 위치
    param5 = 300
    param6 = 500
    param7 = 0
    param8 = "VS_PARAM1=param&VS_PARAM2=0123&VS_PARAM3=123&VS_PARAM4=123.123&VS_PARAM5=0123.123&VS_PARAM6=PARAM"
    param9 = False
    param10 = True
    param11 = "VS_RTN"
    
    ret = mxmodule.xapi.ExecuteAction("HyperLink", param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11)

    '결과처리
    If ret = False Then
        mxmodule.xapi.MessageBox "Error " & mxmodule.xapi.LastErrorMessage, 0, "i-MATRIX"
    Else
        mxmodule.xapi.MessageBox "정상", 0, "i-MATRIX"
    End If
    
End Sub

3. messageSend 팝업

Parameters


code

Type: int

메세지 전달 코드

ex) 30 : 레포트 팝업, 31 : 부모창으로 값 리턴

message


Type: String

메세지 전달 코드에 대한 Message

ex) REPCODE=REPFC247F8717D04BDFB8A44D388141D983<@c@>VS_1=111<@c@>VS_2=222

Returns

Type:  void

코드 블럭
languagevb
titlemessageSend 팝업 사용 예제
collapsetrue
Sub messageSend()
    Dim md As Object
    Set md = Application.COMAddIns("iMATRIX6.ExcelModule").Object
    Dim param1 As String, param2 As String
    Dim param As String
    param1 = Range("VS_PARAMS1").Value
    param2 = Range("VS_PARAMS2").Value
    param = "REPCODE=REPBF51BFA10A9A460492DDA50853E88B0E"
    If param1 <> "" Then
        param = param & "<@c@>VS_PARAM1=" & param1
    End If
    If param2 <> "" Then
        param = param & "<@c@>VS_PARAM2=" & param2
    End If
    md.xapi.messageSend 30, param
    
End Sub


서브 보고서 → 메인 보고서

팝업 보고서 → 메인 보고서

1. 팝업 보고서(i-MATRIX)

파라미터를 받는 경우 : 메인보고서에서 넘긴 변수 이름이 팝업 보고서에 이름 정의로 있어야 함.

ex) VS_PARAMS1, VS_PARAMS2를 하이퍼링크로 넘길 경우

Image Added

메인 보고서로 값을 보낼 경우 : VBA messageSend을 통해서 전달

ex)

VS_RESPONSE1 = 부모에서 받을 이름정의로 설정

VS_SEND_VALUE1 = 팝업 보고서에서 보낼 값

코드 블럭
languagevb
titlemessageSend 부모로 값 전달 예제
collapsetrue
'<@c@> 파라미터 분리
Sub messageSend()
    Dim md As Object
    Set md = Application.COMAddIns("iMATRIX6.ExcelModule").Object
    Dim param1 As String, param2 As String
    Dim param As String
    param1 = Range("VS_SEND_VALUE1").Value
    param2 = Range("VS_SEND_VALUE2").Value
    param = ""
    param = param & "VS_RESPONSE1=" & param1
    param = param & "<@c@>VS_RESPONSE2=" & param2

    md.xapi.messageSend 31, param
    
End Sub



2. 팝업 보고서(i-AUD)

파라미터를 받는 경우 : i-AUD보고서 스크립트에서 설정

ex)

코드 블럭
languagejs
title파라미터를 받는 경우(i-AUD)
collapsetrue
var OnDocumentLoadComplete = function(sender, args)
{
var params = Matrix.GetDialogRequestParams();
var lbl = Matrix.getObject("Label");
lbl.Text = params['VS_PARAMS1'].VALUE;
};


메인 보고서로 값을 보낼 경우 :  i-AUD보고서 스크립트에서 설정

코드 블럭
languagejs
title부모 보고서에 값을 넘기는 경우(i-AUD)
collapsetrue
 var OnButtonClick  = function(sender, args)
 {
 	if(args.Id == "Button") {
		var p1 = Matrix.getObject("h1_result"); //i-MATRIX 하이퍼링크 결과 수신 셀로 반환
		var p2 = Matrix.getObject("VS_RESPONSE1");
		var p3 = Matrix.getObject("VS_RESPONSE2");
		var params ={};
		params[p1.Name] = {
			'VALUE': p1.Text
		};
		params[p2.Name] = {
			'VALUE': p2.Text
		};
		params[p3.Name] = {
			'VALUE': p3.Text
		};
		params[p1.Name] =  p1.Text;
		params[p2.Name] =  p2.Text;
		params[p3.Name] =  p3.Text;
		Matrix.ReportDialogResult(params, true); 
	}
 };