25.2.1 OLEオブジェクトの生成と取得
OLE2サーバのOLEオブジェクトを操作するには,そのOLEオブジェクトを生成するか,またはすでに生成されているOLEオブジェクトを取得します。
- 〈この項の構成〉
(1) CREATEOBJメソッド
INVOKE文でCREATEOBJメソッドを使用すると,OLEオブジェクトを生成できます。
ExcelのApplicationオブジェクト※を操作するためにOLEオブジェクトを生成する例を次に示します。
- OLEオブジェクトの生成例
WORKING-STORAGE SECTION. 01 AP-OBJ USAGE OBJECT REFERENCE OLE. PROCEDURE DIVISION. INVOKE 'Excel.Application' 'CREATEOBJ' RETURNING AP-OBJ.
- 注※
-
Excelでは,OLE2オートメーション機能で操作できるOLEオブジェクトの一つとしてApplicationオブジェクトがあります。このOLEオブジェクトのクラス名は,Excel.Applicationとしてシステム登録ファイルに登録されています。
(2) GETOBJメソッド
INVOKE文でGETOBJメソッドを使用すると,すでに生成されているOLEオブジェクトを取得できます。
すでに生成されているExcelのApplicationオブジェクトを取得して操作する例を次に示します。
- OLEオブジェクトの取得例
WORKING-STORAGE SECTION. 01 AP-OBJ USAGE OBJECT REFERENCE OLE. PROCEDURE DIVISION. INVOKE 'Excel.Application' 'GETOBJ' RETURNING AP-OBJ.
また,INVOKE文でGETOBJメソッドを使用すると,作成済みのファイルからOLEオブジェクトのインスタンスを生成できます。
ハードディスク上にある"SAMPLE1.XLS"という作成済みのファイルを指定して,ExcelのSheetオブジェクト※を生成する例を次に示します。
- インスタンスの生成例
WORKING-STORAGE SECTION. 01 SH-OBJ USAGE OBJECT REFERENCE OLE. PROCEDURE DIVISION. INVOKE 'Excel.Sheet' 'GETOBJ' USING VALUE 'C:\SAMPLE1.XLS' RETURNING SH-OBJ.
- 注※
-
Sheetオブジェクトのクラス名は,Excel.Sheetとしてシステム登録ファイルに登録されています。