chumpa написал:
Да, ещё вспомнил по теме -- массивы не передаются, никак (те, которые в VARIANT могут быть).
Есть такая занятная штука - MSScriptControl (я о ней уже упоминал здесь: 
viewtopic.php?p=438438#p438438 ). Считаю ее для себя своим открытием года, несмотря на то, что штука известна уже более 10 лет. Как-то всё руки не доходили, а в этом году, к счастью, дошли.
В этот компонент внутри ABAP-программы можно загрузить в виде текста отлаженный код на VBScript и исполнить его. Всякие вкусности Бейсика вроде массивов VARIANT или пропуска необязательных параметров в середине(!) списка - доступны. Нет, напрямую массив в ABAP по-прежнему не передать, НО(!) можно получить вариантный массив (например, значения диапазона ячеек Excel - одной операцией присваивания: varArray = Range("A1:H100")), Бейсиком же развернуть массив в огромную строку, разделив значения в строках символами табуляции, а строки - символами перевода строки. Далее передать строку в стринг ABAP-а, который SPLIT-ами разрезать и поместить во внутреннюю таблицу, завершив, таким образом, преобразование "VARIANT-массив VB => внутренняя таблица ABAP". Законченный пример по передаче массива при случае покажу.
Сейчас же покажу пример с пропуском параметров, уже упомянутый выше в этом обсуждении. В рабочую книгу Excel, открытую из ABAP-а, Бейсиком будет добавлен лист с типом "Диаграмма" (с параметром After), после чего в ABAP-е новый лист будет переименован (конечно же, на самом деле всё "происходит" в ABAP-е и разделение этапов на "абаповский" и "бейсиковский" используется чисто для наглядности):
Code:
REPORT  zzzzzzz.
TYPE-POOLS: ole2.
DATA:
  excel     TYPE ole2_object,
  workbooks TYPE ole2_object,
  sc        TYPE ole2_object,
  new_sheet TYPE ole2_object,
  vbcode    TYPE string.
START-OF-SELECTION.
  "открыли Excel в ABAP-е
  CREATE OBJECT excel 'Excel.Application'.
  SET PROPERTY OF excel 'Visible' = 1.
  CALL METHOD OF excel 'Workbooks' = workbooks.
  CALL METHOD OF workbooks 'Add'.
  "переходим в VB (в смысле, в ActiveX)
  CREATE OBJECT sc 'MSScriptControl.ScriptControl'.
  SET PROPERTY OF sc 'Language' = 'vbscript'.
  "устанавливаем соответствие между объектами VB и ABAP
  CALL METHOD OF sc 'AddObject' EXPORTING #1 = 'xlApp' #2 = excel.
  "загружаем код VB (vbscript) для выполнения поставленной задачи
  CONCATENATE
  'Function addNewSheet'
  '    Set addNewSheet = xlApp.Sheets.Add( , xlApp.Worksheets(2), , -4109)' "-4109 = xlChart
  'End Function'
  INTO vbcode SEPARATED BY cl_abap_char_utilities=>cr_lf.
  CALL METHOD OF sc 'AddCode' EXPORTING #1 = vbcode.
  "проигрываем" код VB, возвращая созданный лист ABAP-у
  CALL METHOD OF sc 'Run' = new_sheet EXPORTING #1 = 'addNewSheet'.
  "снова в ABAP-е - изменяем имя листу, созданному в VB
  SET PROPERTY OF new_sheet 'Name' = 'Диаграммище'.
  CALL METHOD cl_gui_cfw=>flush.
  FREE OBJECT: sc, new_sheet, workbooks, excel.