Итак начнем.
Заходим в конфигуратор 1С.
Меню - Файл - Новый (Ctrl+N)- Создадим внешний отчет (обработку)
Переходим сразу на вкладку "Таблица" - на панели инструментов "Редактор таблиц" есть кнопочка "Вставить новый OLE объект"
нажимаем, появится новый диалог
в данном пример нам нужен "Лист Microsoft Office Excel" (для этого на компьютере должен быть установлен Excel)
В таблице появится знакомый Лист1 от Excel.
Выделяем его и нажимаем клавиши ALT+F11 (откроется встроенный редактор VBA).
Не буду далеко вглубляться про язык, методы и свойства VBA...кому нужно сам найдет
Продолжим - в нашем примере - я напишу команду в предопределенной процедуре Workboor_Open() аналогичную команде 1С - Сообщить("Привет посетителю Инфостарт"). Сохраняем проект, закрываем.
Снова кликнем на объект EXCEL в таблице - скорее всего (по умолчанию) появится следующий диалог про МАКРОСЫ (их использование запрещено или ограниченно). Как обойти - расскажу дальше.
Нажмем "Не отключать макросы" и увидим прямо в конфигураторе окно:
В свойствах объекта пропишем строчку Лист(Таблица.ТекущийОбъект) - можно в Расшифровке, но можно и в Текст (но это другая история).
Переходим в модуль обработки и пишем функцию Лист (а можно и процедуру)
Для примера покажу 2 варианта
1 вариант:
Внедренный объект сохраняем как Личную книгу макросов - получаем ее путь и сохраняем (заменяем) обновляем.
Теперь барьера на использовании макроса на чужом компьютере больше нет - нам будут доступны все возможности EXCEL и VBA.
В конце можно будет удалить.
2 вариант:
Во втором варианте можно вообще ничего не писать, только в меню - Действия - Свойства формы - поставим галочки
И при открытии обработки написать две строки.
Кому интересно:
Пример обработки с 1 вариантом
Пример обработки с 2 вариантом
а также альтернативный (Доступ к VBA из 1С)
Все нижеизложенное представлено исключительно в поучительных целях, И АВТОР НЕ НЕСЕТ НИКАКОЙ ОТВЕТСТВЕННОСТИ ЗА ПОСЛЕДСТВИЯ, КОТОРЫЕ МОГУТ ПРОИЗОЙТИ ВСЛЕДСТВИЕ ПРОЧТЕНИЯ ПРЕДЛОЖЕННОГО МАТЕРИАЛА
Также возможен доступ к объекту (возможно интерактивный):
// Доступ к листу книги
ЛистКниги=Объект.Sheets("Лист1");
// Доступ к диаграмме на листе
Диаграмма = Объект.Sheets("Диаграмма1");
// Доступ к данным ячейки
ЛистКниги.Cells(1,1).Value = "До свидание...на память";
Если кому нужен совет или помощь - пишите в личку (вместе решим)