aar написал(а):
Доброе утро.
Есть ли возможность использовать один макрос из нескольких документов, но чтобы он был в одном файле, чтобы не править макросы во всех документах? Возможно, в идеале, параметризировать его.
Спасибо.
Как оказалось, есть! 

Я попробовал на своём примере ZWWW_SAMPLE_INVOICE.xls. Вытащил из него макрос форматирования объединённых ячеек MergeCellsAutofit, поместил его в отдельный файл Excel и сохранил как надстройку Excel (*.xla) с именем "Func.xla".
В шаблоне ZWWW_SAMPLE_INVOICE.xls изменил вызов макроса, вместо 
Code:
  Call MergeCellsAutofit(Range("Область_формата"))"
написал
Code:
  Run "'" + Application.ThisWorkbook.Path + "\Func.xla'!MergeCellsAutofit", Range("Область_формата")
А при вызове ФМ передаю файл с общими макросами "FUNC.xla" через таблицу IT_FILES.
В результате он выгружается вместе с шаблоном и доступен для вызова его макросов.
Code:
  wa_Files-File_Name = 'Func.xla'.
  wa_Files-File_Data = ... "двоичный файл типа xstring
  Insert wa_Files into table lt_Files.
 
  Call function 'ZLCL_OPENFORM'
    exporting
      Source_Name = lv_File_Name
    tables
      it_Values   = lt_Val[]
      it_Files    = lt_Files[].
Я проверял на ФМ 'ZLCL_OPENFORM', поэтому измененный шаблон ZWWW_SAMPLE_INVOICE.xls и файл общих макросов FUNC.xla у меня брались с локального компьютера. Вы можете сохранить файл общих макросов так же, как шаблон, в Web-хранилище (тр.SMW0), или любом другом, и стандартными функциями считывать его и преобразовывать в тип xstring для передачи через параметр it_Files.