Добрый день!
При вызове метода Excel WorkSheets.Add(Before, After) необходимо опустить первый передавайемый параметр, то есть параметр Before, а явно передать только пааметр After. Но поскольку, при вызове метода EXCEL WorkSheets.Add(Before, After) с помощью ABAP-конструкции CALL METHOD OF в данный момент нельзя использовать именованные параметры, а передача параметров осуществляется только позиционно, то необходимо в качаестве первого параметра (Before) передать NULL.
Привожу код.
Code:
TYPE-POOLS: OLE2.
INCLUDE: OLE2TYPE.
DATA: H_APPLICATION TYPE OLE2_OBJECT,
H_COLLECTION TYPE OLE2_OBJECT,
H_WORKBOOK TYPE OLE2_OBJECT,
H_OBJECT TYPE OLE2_OBJECT,
H_WORKSHEETS TYPE OLE2_OBJECT,
H_WORKSHEET2 TYPE OLE2_OBJECT,
H_WORKSHEET3 TYPE OLE2_OBJECT,
H_NULL TYPE OLE2_OBJECT,
H_WORKSHEET5 TYPE OLE2_OBJECT.
CREATE OBJECT H_APPLICATION 'Excel.Application'.
SET PROPERTY OF H_APPLICATION 'Visible' = 1.
CALL METHOD OF H_APPLICATION 'Workbooks' = H_COLLECTION.
CALL METHOD OF H_COLLECTION 'Add' = H_WORKBOOK.
GET PROPERTY OF H_WORKBOOK 'Worksheets' = H_WORKSHEETS.
CALL METHOD OF H_WORKSHEETS 'Item' = H_WORKSHEET2 EXPORTING #1 = 2.
SET PROPERTY OF H_WORKSHEET2 'Name' = 'Test2'.
CLEAR: H_NULL.
H_NULL-HEADER = 'OBJH'.
H_NULL-TYPE = 'OLE2'.
H_NULL-HANDLE = OLE2_TYPE_NULL.
CALL METHOD OF H_WORKSHEETS 'Add'
EXPORTING
#1 = H_NULL " Before
#2 = H_WORKSHEET2. " After
Если осуществить такой вызов
Code:
CALL METHOD OF H_WORKSHEETS 'Add'
EXPORTING
* #1 = H_NULL " Before
#2 = H_WORKSHEET2. " After
то все равно актуальный параметр H_WORKSHEET2 передастся в параметр Before.
Как можно передать NULL параметр?