COBOL2002 ユーザーズガイド


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としてシステム登録ファイルに登録されています。