HCL Z and I Emulator: HACL による自動化

2020/8/19 - 読み終える時間: 7 分

前回の記事「HCL Z and I Emulator: PCSAPI を使った自動化」に続き、ホストアクセスクラスライブラリ (HACL) を使った自動化についての英語版ブログの記事 Automation using HACL の日本語版です。


Automation using HACL

2020年8月17日

著者: Sudhir Ranjan Rout / Senior Developer, HCL

画像の説明

PCSAPI を使用したオートメーションと EHLLAPI APIを使用したオートメーションに関する以前のブログに続き、このブログでは、ZIEWIN API の最も強力なセットである HACL(ホストアクセスクラスライブラリ)API について詳しく説明します。

ホストアクセスクラスライブラリ (HACL) は、アプリケーションプログラマがホストアプリケーションに簡単かつ迅速にアクセスできるようにするオブジェクトのセットです。 HCL ZIEWinは、さまざまなHACLレイヤーをサポートしています。

図1 HACLレイヤー 画像の説明

オートメーションオブジェクト(Visual Basic、Word、Excel など): ホストアクセスクラスライブラリオートメーションオブジェクトにより、ZIEWin は Microsoft COM ベースのオートメーションテクノロジー(以前はOLE オートメーションと呼ばれていました)をサポートできます。 HACL 自動化オブジェクトは一連の自動化サーバーで、Microsoft Visual Basic などの自動化コントローラーがプログラムで ZIEWin Communications のデータと機能にアクセスできるようにします。

:HCL ZIEWin によって提供されるオートメーションオブジェクトは、本来64ビットです。これらは、64ビットの Microsoft Office プログラムでのみ使用できます。

現在、以下のタイプのオートメーションオブジェクトがサポートされています。

  • C ++オブジェクト:

このC ++クラスライブラリは、以下を含むホスト接続の完全なオブジェクト指向の抽象化を提供します。

* ホスト表示スペース(画面)の読み取りと書き込み
* 画面上のフィールドの列挙
* 状況情報についてオペレーター標識域 (OIA) を読み取る
* ビジュアルエミュレータウィンドウに関する情報へのアクセスと更新
* ファイルを転送しています
* 重要なイベントの非同期通知を実行する
  • Javaオブジェクト:

Javaオブジェクトは、すべてのHACL関数にJavaラッパーを提供します。

  • LotusScript拡張: Host Access Class Library LotusScript Extension (LSX) は、LotusScript (HCL Notes およびすべての Lotus SmartSuite 製品のスクリプトおよびマクロ言語)の言語拡張モジュールです。この LSX により、ロータス製品のユーザーは、使いやすいスクリプト機能を通じて HACL 関数にアクセスできます。


ECL コンセプト - 接続、ハンドル、名前

ECL のコンテキストでは、接続は単一であり、ZIEWin エミュレーターウィンドウに固有です。接続は、接続ハンドルまたは接続名によって区別されます。ほとんどの HACL オブジェクトは特定の接続に関連付けられています。通常、オブジェクトは接続ハンドルまたは接続名をオブジェクトのコンストラクターのパラメーターとして受け取ります。たとえば、接続「B」に関連付けられた ECLPS(表示スペース)オブジェクトを作成するには、次のコードを使用します。

C++ ECLPS *PSObject; PSObject = new ECLPS(’B’);

Visual Basic Dim PSObject as Object Below is a graphical representation of the most commonly used autECL Objects Set PSObject = CreateObject("ZIEWIN.autECLPS") PSObject.SetConnectionByHandle("B")

HACL 自動化オブジェクト

図2 autECL オブジェクトの全体図 画像の説明

オートメーションサーバーの一部は、ZIEWin の操作性を制御するメソッドとプロパティを備えた実世界の直感的なオブジェクトとして実装されています。 各オブジェクトは、オートメーションホストアクセスクラスライブラリの autECL で始まります。 これらのオブジェクトを簡単な説明とともに以下に示します。

  • autECLConnList

接続リストには、特定のシステムのZIEWin接続のリストが含まれています。これはautECLConnMgrに含まれていますが、autECLConnMgrとは別に作成できます。

  • autECLConnMgr

接続マネージャーは、特定のシステムのZIEWin接続を管理するためのメソッドとプロパティを提供します。このコンテキストでの接続はZIEWinウィンドウです。

  • autECLFieldList

フィールドリストは、エミュレータ表示スペースのフィールドに対して操作を実行します。

  • autECLOIA

オペレーター情報エリアは、オペレーター情報エリアをクエリおよび操作するためのメソッドとプロパティを提供します。これはautECLSessionに含まれていますが、autECLSessionとは独立して作成できます。

  • autECLPS

表示スペースは、関連するZIEWin接続の表示スペースを照会および操作するためのメソッドとプロパティを提供します。これには、表示スペース内のすべてのフィールドのリストが含まれています。これはautECLSessionに含まれていますが、autECLSessionとは無関係に作成できます。

  • autECLScreenDesc

画面の説明は、画面を説明するメソッドとプロパティを提供します。これは、autECLPSオブジェクトまたはautECLScreenRecoオブジェクトで画面を待機するために使用できます。

  • autECLScreenReco

画面認識は、HACL画面認識システムのエンジンを提供します。

  • autECLScreenReco

画面認識は、HACL画面認識システムのエンジンを提供します。

  • autECLSession

セッションは、一般的なセッション関連の機能と情報を提供します。便宜上、autECLPS、autECLOIA、autECLXfer、autECLWinMetrics、autECLPageSettings、およびautECLPrinterSettingsオブジェクトが含まれています。

  • autECLWinMetrics

ウィンドウメトリックは、このオブジェクトに関連付けられているZIEWinセッションのウィンドウメトリックを照会するメソッドを提供します。たとえば、このオブジェクトを使用して、ZIEWinウィンドウを最小化または最大化します。これはautECLSessionに含まれていますが、autECLSessionとは独立して作成できます。

  • autECLXfer

ファイル転送は、このファイル転送オブジェクトに関連付けられたZIEWin接続を介してホストとワークステーション間でファイルを転送するためのメソッドとプロパティを提供します。これはautECLSessionに含まれていますが、autECLsessionとは独立して作成できます。

  • autECLPageSettings

ページ設定は、CPI、LPI、セッションの[ページ設定]ダイアログのフェイス名などの一般的に使用される設定をクエリおよび操作するためのメソッドとプロパティを提供します。これはautECLSessionに含まれていますが、autECLSessionとは独立して作成できます。

  • autECLPrinterSettings

プリンター設定は、セッションのプリンター設定ダイアログのプリンターやPDTモードなどの設定を照会および操作するためのメソッドとプロパティを提供します。これはautECLSessionに含まれていますが、autECLSessionとは独立して作成できます。


基本的にすべてのクラスは、プロパティ、メソッド、および (オプションで) イベントを提供します。これらは、ZIEWin ウィンドウ内の操作を相互作用し、制御するために連携して、または別々に使用できます。

前述のクラスとサンプルコードについての詳細情報は、ZIEWin のオンラインドキュメントでも閲覧できます。

以下のサンプルコードは、最も一般的なECLオブジェクトとメソッドの使い方を示しています。

1. Object Declaration Declare the Objects to be used DIM autECLPSObj as Object DIM autECLConnList as Object Dim autECLOIAObj as Object Dim PSText String

2. Initialize session object by Handle or by Name Define the purpose of the object type Set autECLPSObj = CreateObject("ZIEWIN.autECLPS") Set autECLConnList = CreateObject("ZIEWIN.autECLConnList") Set autECLOIAObj = CreateObject("ZIEWIN.autECLOIA") Refresh must be called to get latest connection info autECLConnList.Refresh Initialize the connection with the first in the list autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) Initialize the connection with Session Name autECLOIAObj.SetConnectionByName("A")

3. Sendkey (String,Row,Col) sends the text on mentioned row and col location autECLPSObj.SendKeys "ZIEWIN API’s are very Powerful", 3, 1

4. Sendkey (KeyStroke) Send keystroke (Enter) on the green screen autECLPSObj.SendKeys “[Enter]”

5. GetText (Row, Col, Length) ' Gets the text of 10 bytes from row and col PSText = GetText (1,1,10)

6. SetCursorPos (Row, Col) ' sets the cursor position at row and col location autECLPSObj.SetCursorPos 2, 1

7. StartMacro (MacroName) ' Executes the ZIEWIN recorded .mac macro autECLPSObj.StartMacro "MacroName"

8. WaitforInputReady (time in millsec) waits for specified number of milliseconds autECLOIAObj.WaitForInputReady(10000)

9. Properties Number of rows and cols properties in green screen autECLPS class Object Rows = autECLPSObj.NumRows Cols = autECLPSObj.NumCols

10. GetCursorRow and GetCursorCol fetch rows and cols properties position CurPosRow = autECLPSObj.CursorPosRow CurPosCol = autECLPSObj.CursorPosCol

11. RegisterPSEvent/ RegisterCommEvent, RegisterKeyEvent Refer the attached example Excel application


サンプルコードのダウンロード

ZIEWin_hacl_sample


お問い合わせ

HCL ZIE での Web アプリケーションの整理、自動化機能、Lab サービスの提供に関する詳細については、こちらをご覧ください。

ZIO@hcl.com

このブログについて

HCL Japan の Software 部門の複数担当者で HCL Software 全般について記しています。

Tags

Academy Accelerate Accelerator Actian Ambassador AoC AppDev Pack AppScan ASoC BigFix BigFix Workspace CAA Clara Client Applicatin Access Cloud Native Commerce Common Local License Server Compass Connections Connnections CVE-2021-44228 DevOpes Velocity DevOps DevOps Code ClearCase DevOps Code RealTime DevOps Deploy DevOps.Launch.AppScan DevOps Model RealTim DevOps Model RealTime DevOps Plan DevOps Test DevOps Velocity Digital Experience Discover Domino Domino Leap Domino Volt Domino管理者アップデート認定試験対策 DQL DRYiCE DX Enterprise Integrator event General HCAA HCL Ambassador HCL Ambassadors HCL Domino REST API HCL OneTest Embedded HCL Z and I Emulator HCL Z and I Emulator for Transformation HCLSoftware U Hero history HTMO iControl iNotes IZSAM KEEP Launch Launch.DevOps Leap Link MarvelClient nds2019 ndv12beta Noets/Domino Nomad Nomad Mobile Nomad Web notes Notes/Domino notes-domino-9-10-limited-supportability-as-of-202204 Notes/Domino V12 Notes/Domion notescons Now OneDB OneTest OnTime REST RTist SafeLinx Sametime SoFy Total Experience Traveler Traveler for Microsoft Outlook Unica Unica Discover Unica Interact UrbanCode Deploy UrbanCode Velocity Velocity Verse VersionVault Volt Volt MX Volt MX Go Volt MX サンプルアプリ Wordload Automation Workload Automation youtube Z Z Abend Investigator Z and I Emulator Z and I Emulator for Transformation Z and I Emulator for Web Z and I Emulator for Web Client Z Asset Optimizer Z Data Tools Z Software Asset Manager ZAI ZAO ZIE ZIE for Transformation ZIE for Web ZIE for Windows ZIET ZIETrans ZIEWeb イベント ガイド クラウド サポート サポート技術情報 サポート終了 セキュリティ セキュリティー セキュリティー脆弱性 テクてく Lotus 技術者夜会 ニュース ノーツコンソーシアム パートナー ライセンス 九州地区 Notes パートナー会 出荷日 研修