ProcessBot 기능 중 HyperLink는 i-AUD 보고서 및 웹페이지를 팝업으로 띄우고, 필요에 따라 결과를 수신받는 기능입니다.
<매트릭스 설정예시1 - ProcessBot>
변수이름 : 전달할 변수의 명(※ 현재 입력콤보로 나타나지만 텍스트박스로 변경될 예정, 사용자가 직접입력 해야 함)
변수값 : 전달할 변수의 값(매트릭스 이름정의 또는 셀주소)
Close 후 결과수신 : 설정시에만 결과가 리턴됨.
결과수신셀 : 결과를 수신받을 매트릭스 이름정의 또는 셀주소
(※ Close 후 결과수신 설정시, 출력되는 창은 Modal로 출력 되어 Excel 작업이 불가능합니다.)
<매트릭스 설정예시2 - XAPI (6.2.200.19 버전 이상 지원)>
XAPI 사용 예제
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
<웹페이지 또는 i-AUD 설정방법>
- 변수는 POST방식으로 전달됩니다.(i-AUD는 GlobalParam으로 처리됨)
- SetObject API을/를 이용하여 데이터 저장 합니다.
1.1. 입력 매개변수 중 첫번째 입력매개변수 key 값은 "hl_result" 고정, 두번째 value 값은 원하는 데이터를 입력합니다. - 데이터 저장 후 창이 닫히게 하려면 Command API를 이용하여 Close API를 호출 합니다.
OK 버튼 클릭 후 데이터 저장 및 창 종료 예제
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <script> function return_close() { window.external.SetObject("hl_result", "hello c#"); window.external.Command("close", "true"); } </script> <body> <button onclick="return_close()">OK</button> </body> </html>
AUD 의 Dataset 을 i-MATRIX Return 하는 예제
Button.OnClick = function(s, e){ alert("확인을 클릭하면 i-MATRIX 로 데이테셋을 전달합니다."); // AUD DataSet 실행후 결과를 i-MATRIX 로 return Matrix.Execute("DS_MODULE_CODE" ,function(p){ if(p.Success == false){ Matrix.Alert(p.Message); return; } var ds = p.DataSet; var dt = p.DataTable; var resultArr = dt.Convert2DArray("", true); //window.external.SetObject("hl_result", "나를 넣어주세요"); window.external.SetObject("hl_result", JSON.stringify(resultArr)); }); };