Возникла обычная задача - использовать фотографии товаров в прайс-листе. В 1С формируется ТЗ, создается книга Excel и в цикле ТЗ заполняются строки, с группировками видов товара и новыми листами в соответствии с заданием.
Варианты использования изображений товаров - в Примечании к ячейкам и в самих ячейках.
Со вставкой в Примечание - справился, а вот с ячейками возник последний "затык". Уточню, что строки Excel группируются, поэтому рисунки в ячейках должны скрываться при включении группировки.
Сделал тестовое заполнение.
А вот теперь нужно присвоить свойству Picture значение LoadPicture("d:\030-14.jpg"). Пока решил использовать макрос, но понятно, что так не прокатит в работе:
Возможно, использование строки
решит проблему, но параметров я не знаю, а в Экселевском макросе присваивание не видно.
Итак, чтобы попробовать исключить вставку макроса для внедрения рисунка попробую расписать весь код, тем более что слабых мест в нем несколько.
При выполнении макроса на одном листе проблем не возникает, однако - если листов несколько, то выпадает ошибка при добавлении OLE объекта. Дело вот в этой строке:
//получаем количество объектов, в данном случае это Add (книга+лист(?))
i = Application.VBE.ActiveVBProject.VBComponents.Count;
Application.VBE.ActiveVBProject.VBComponents(i).CodeModule.AddFromString(Macros);
Макрос принимает имя "ЭтаКнига.<ИмяМакроса>"/
Как обойти ограничение на имя вносимого макроса?Изменено 07.01.14 21:03:03
Подсказка: Для выделения Кода используйте (в редакторе).