Каталог решений - «Троянский конь» или «скрытые» возможности таблиц 1С

«Троянский конь» или «скрытые» возможности таблиц 1С

«Троянский конь» или «скрытые» возможности таблиц 1С

В наличии

Маленькие хитрости по "взаимодействию" 1С и MS OFFICE или — как создать "троянского" коня. Тайное становится явным.

Все нижеизложенное представлено исключительно в поучительных целях, И АВТОР НЕ НЕСЕТ НИКАКОЙ ОТВЕТСТВЕННОСТИ ЗА ПОСЛЕДСТВИЯ, КОТОРЫЕ МОГУТ ПРОИЗОЙТИ ВСЛЕДСТВИЕ ПРОЧТЕНИЯ ПРЕДЛОЖЕННОГО МАТЕРИАЛА.

Категория:

Описание

Итак начнем.

Заходим в конфигуратор 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 = "До свидание...на память"; 

Если кому нужен совет или помощь — пишите в личку (вместе решим)

has been added to your cart:
Оформление заказа