Рецепт

Выгрузка из 1С в Excel через COM

Из обработки 1С нужно открыть книгу, записать таблицу и не оставить процесс Excel.

В 1С создайте COM-объект Excel.Application, отключите DisplayAlerts и ScreenUpdating, откройте шаблон, пишите массивом (в 1С — двумерный массив в Range.Value), сохраните, закройте книгу, Quit, обнулите ссылки. Visible = True только для отладки.

Код

' Схема на стороне VBA-шаблона, который дергает 1С:
Public Sub FillFromArray(data As Variant)
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Данные")
    ws.Range("A2:Z100000").ClearContents
    If IsArray(data) Then
        ws.Range("A2").Resize(UBound(data, 1), UBound(data, 2)).Value2 = data
    End If
End Sub

Связанные члены API