КАК загрузить(сохранить) картинки из документа EXCEL или WORD (MS OFFICE.)

20.06.11

Интеграция - Загрузка и выгрузка в Excel

Все чаще и чаще - вижу на форумах вопрос, а как загрузить(или сохранить) КАРТИНКУ из документа EXCEL или WORD
Стоит задача -вытащить картинки из прайс-листа.
Вроде все просто, а попробуйте сами.
Как это сделать знаете ?

Скачать файлы

Наименование Файл Версия Размер
Решение быстрое и простое (пароль -инфостарт)
.rar 0,47Kb
291
.rar 0,47Kb 291 Скачать

Видел написанные макросы для выгрузки на много много строк.

Видел внешние обработки и на 7.7 и на 8.* который загружают документ и потом долго анализируют, что же они загрузили...

Дело в том , что даже открыв документ (например EXCEL) и кликнув на картинку - Вы ее не сможете сохранить, а НАДО и что делать ?

А вот Вы знаете как это сделать ? Подумайте, все гениально - просто

 на мой взляд самый ПРОСТОЙ и самый БЫСТРЫЙ способ ... (не требующих особых навыков)

//Хотел сразу же сдесь ответ написать, нет не буду - напрягите свои извилины и предложите свой вариант

//Мой Ответ в прикрепленном файле : пароль - инфостарт

 

ОТВЕТ ДЛЯ ТЕХ КТО НЕ ЖЕЛАЕТ ДУМАТЬ:

Чтобы выгрузить картинки из EXCEL книги нужно ее сохранить как WEB страницу.
Файл-Сохранить как - Веб страница (*.htm,*.html)
и тогда по пути где находится наш файл будет создана папка
ИМЯНАШЕГОФАЙЛА.files открываем ее и видим все нужные нам картинки.

Все гениальное - просто.
Понравилось решение данного вопроса ?

См. также

Загрузка номенклатуры из Excel в УТ11, КА 2, ERP 2, Розница 2. Дополнительные реквизиты и сведения, характеристики, картинки, цены, остатки

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка из файлов xls, xlsx, ods, csv, mxl в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

10560 руб.

29.10.2014    209830    620    524    

438

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 11.12.2023, версия 9.5 - 9.9)

13200 руб.

20.11.2015    150385    365    375    

499

Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания ЛЮБЫХ СКАНОВ ИЛИ ФОТО ТОВАРНЫХ ДОКУМЕНТОВ в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML и т.д.) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

5400 руб.

04.06.2019    101138    296    173    

312

Загрузка данных отчета о реализации товаров из Excel файла СберМегаМаркет

Загрузка и выгрузка в Excel Маркетплейсы Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Загрузка данных отчета о реализации товаров из сервиса СберМегаМаркет для конфигурации: Бухгалтерия предприятия, редакция 3.0; Управление торговлей, редакция 11 и Управление нашей фирмой, редакция 3.0 в документ "Отчет комиссионера (агента) о продажах".

3600 руб.

07.06.2022    14953    78    0    

59

Загрузка документов и номенклатуры из Excel в 1С "одним нажатием": УПД, ТОРГ-12, отчеты маркетплейсов, заказы, счета, прайсы

Загрузка и выгрузка в Excel Оптовая торговля Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 Конфигурации 1cv8 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная обработка для загрузки документов из Excel в 1С. Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, заказ, отчет комиссионера и т.д.). Не требует MS Office. Для поиска таблиц используются методы эвристического поиска. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д. Содержит модуль работы с электронной почтой и api-загрузчик отчетов о продажах маркетплейсов.

5000 руб.

09.11.2016    214615    921    886    

938

Универсальная загрузка остатков и цен поставщиков в 1С (УТ 11, КА 2, ERP 2.0) из файлов Excel, CSV, XML (YML и CML)

Прайсы Оптовая торговля Розничная торговля Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Загрузка и выгрузка в Excel Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Обработка позволяет легко настроить загрузку прайс-листов и остатков поставщиков. Форматы файлов задаются для каждого поставщика отдельно. В настройках предусмотрена возможность гибкой обработки входящих данных (убрать лишние символы, пересчитать цены в другую валюту, сделать произвольную наценку и т.д.).

12000 руб.

23.01.2017    58796    59    48    

67
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Tatitutu 3855 22.04.10 09:42 Сейчас в теме
Думаю кому нибудь , когда нибудь пригодится и сохранит пару минут, часов...а может и седых волос.
31. gavlexx 39 23.04.10 16:08 Сейчас в теме
Идея заключается в том, что картинку из книги можно ее родными методами скопировать в буфер и вставить в диаграмму Excel. А уже диаграмма имеет метод для сохранения ее в виде графического файла на диске.

Приведенная функция получает в качестве аргумента полный путь к книге Excel со встроенной картинкой (имя листа с картинкой должно быть "Лист1") и возвращает объект 1С - Картинка.
Функция ИзвлечьКартинкуИзXLS(ФайлXLS)
	
	ИмяВременногоФайлаКартинки = КаталогВременныхФайлов() + "tempPict.gif";
	
	// для открытия документа
	Док = Новый COMОбъект("Excel.Application");
	Док.DisplayAlerts = False;
	
	// для промежуточного хранения картинки
	Excel = Новый COMОбъект("Excel.Application");
	Excel.DisplayAlerts = False; //Закрытие не должно вызывать диалога сохранения

	
	Состояние("Попытка установки COM-соединения...");
		
	Попытка
		Док.Workbooks.Open(ФайлXLS);
	Исключение
		Сообщить("Не удалось открыть файл!");
		Возврат Неопределено;
	КонецПопытки;
			
	//Извлечение картинки
	Если Док.Sheets("Лист1").Pictures.Count() > 0 Тогда
		
		//Ссылка на картинку
		Картинка = Док.Sheets("Лист1").Pictures(1);
		
		// промежуточная книга для хранения диаграммы - контейнера картинки
		Excel.Application.Workbooks.Add(1);
		ИмяЛистаXLS = Excel.ActiveSheet.Name;
		
		//Создание диаграммы, которая будет являться контейнером для картинки
		//Расположение новой диаграммы - как объект на созданном ранее новом листе, являющемся в данный момент активным
		//Размеры диаграммы слегка превышают размер картинки
		ДиаграммаXLS = Excel.ActiveSheet.ChartObjects().Add(0, 0, Картинка.Width * 1.01, Картинка.Height * 1.01);
		
		//Копирование картинки в буфер
		Картинка.Copy();
		
		//Заполняем диаграмму картинкой из буфера
		ДиаграммаXLS.Chart.Paste();
		
		//Сохраняем диаграмму во временном файле
		ДиаграммаXLS.Chart.Export(ИмяВременногоФайлаКартинки);
		
		ДиаграммаXLS = Неопределено;
		
		//Загружаем картинку из временного файла в объект Картинка
		КартинкаОбъект = Новый Картинка(ИмяВременногоФайлаКартинки);
		
		//Удаляем временный файл
		Попытка
			УдалитьФайлы(ИмяВременногоФайлаКартинки); 
		Исключение
		КонецПопытки;
			
	КонецЕсли;	
	
	//Док.Application.Quit();
	Док.Workbooks.Close();
		
	//Книгу, использовавшуюся для импорта картинок закрываем
	Попытка
		Excel.Application.Quit();
		Док.Application.Quit();
	Исключение
	КонецПопытки;
	
	Возврат КартинкаОбъект;
		
КонецФункции
Показать
de0nis; Мах; Gang031; theelectric; merabn; smershussr; Olga12; harver; +8 Ответить
2. Ёпрст 1063 22.04.10 09:55 Сейчас в теме
>>>Хотел сразу же здесь ответ написать, нет не буду
>>>Ответ в прикрепленном файле

Какое то противоречие..

ЗЫ: А нафига это всё ?
4. Tatitutu 3855 22.04.10 10:09 Сейчас в теме
(2) ну не успела правильно страница отобразиться
хотел в виде конкурса оформить на лучшее решение вопроса
не успел...
(3) ...
Тупая накрутка количества скачиваний

Сказал бы я тебе... да тут Женщины есть.
файл выложил запореленный не для скачки -( это статья, а не программа )
для того чтобы потом доказать, что мой ответ уже лежал на сайте ,
а не потом я его придумал.
И увидеть интерес к данному вопросу (для статистики)

А так , сейчас такИе типа тебя будут писать - да это баян,яйца выеденного не стоит... (посмотрел твои статьи - без комментариев)
а я могу поспорить что многим этот совет пригодится и не все про этот способ знают.
....
Минус за форму подачи материала

Вот так - хотел новую струю внести - типа конкурса - НЕНУЖНО
пользователь ленивый , он не будет, он не ... а что мы их судим
тут ненужно быть программистом , нужно только знать как пользоваться инструментом.
А главное научить, показать и рассказать - а чтобы лучше запомнилось - заставить подумать.
annak2980; ChiginAV; Styvi; +3 1 Ответить
7. awa 2602 22.04.10 11:41 Сейчас в теме
(4) Сколько пафоса...
Убрал свой минус в связи со сделанными исправлениями в статье.
3. awa 2602 22.04.10 09:56 Сейчас в теме
Тупая накрутка количества скачиваний. Минус за форму подачи материала.
de0nis; FIERYLIONS; SirYozha; +3 Ответить
5. Ёпрст 1063 22.04.10 10:24 Сейчас в теме
Гы.. ну вот тебе еще баян:
Всем известно, что word-документ есть компаунд достаточно посмотреть его любым компаунд-эксплорером..

Для 2007 офиса, еще проще - *.docx на *.zip (или просто открыть файло в архиваторе)
и распаковать - всё видно, при желании, изменить и запаковать обратно.
ЗЫ: таким способом, например, можно тупо снять любой пароль/защиту к книге..

Мах; Lemoi; zuza; Styvi; Tatitutu; +5 Ответить
6. Tatitutu 3855 22.04.10 10:33 Сейчас в теме
(5) )))) Уважаемый Ёпрст, то что Вы это знаете я нисколько не сомневался (и статейка эта не для Вашего уровня)
Это как ложка с дыркой - проверка на вшивость.
Вчера задал такой вопрос на собеседовании - у паренька судя по резюме три года опыта программирования на всем - вот он с задачей не справился.
"А вопрос стоял так вот тебе файл в нем 6 картинок - мне нужно их увидеть в 1С на форме"....Финиш, он мне через 2 часа начал доказывать, что в 1С такой функции нет и значит это НЕДОКУМЕНТИРОВАННАЯ возможность.

"На баяне сможет клавиши нажать каждый , а вот сыграть не нем - дано не каждому"
9. Spartan 365 22.04.10 16:03 Сейчас в теме
(6) Это задание скорее на смекалку, а не на знание возможностей системы и встроенного языка. ;) Поэтому над претендентом ты явно прикололся... :D
CaSH_2004; +1 Ответить
8. DoctorRoza 22.04.10 15:42 Сейчас в теме
Плюсану за отстаивание своих интересов! ;) Подчерпнул для себя новую информацию! Благодарю! :)
Tatitutu; +1 Ответить
10. nafa 657 22.04.10 17:31 Сейчас в теме
Файл, сохранить, веб-страница, пути какие-то... Это же сколько кнопок нажимать надо :( . Не мудрено перепутать.
Я лично в таких случаях делаю чисто по деревенски: в ворде - копировать, там, где картинка нужна - вставить.
А если монитор достатчно большой, чтобы можно было разместить рядом ворд и 1С то просто перетаскиваем мышкой из ворда на 1Совскую табаличку.... ;)
11. Tatitutu 3855 22.04.10 17:44 Сейчас в теме
(10)
Я лично в таких случаях делаю чисто по деревенски: в ворде - копировать, там, где картинка нужна - вставить.


Я уважаю твой выбор, если тебя так устраивает - то почему бы и нет.
можно и так, но долгоооооо очень , если в прайсе больше 100 картинок
будешь каждую копировать ?
А вставлять куда будешь ?
(ну нет там у рисунка в свойствах сохранить как...)
скопировать можно, а как в файл превратить :-)
13. nafa 657 22.04.10 19:12 Сейчас в теме
(11) А мы что обсуждаем то? Как из экселя выдернуть картинку выдернуть
ну нет там у рисунка в свойствах сохранить как...

или как в 1С вставить?
Чтобы из экселя выдернуть, метод годится. Вставить можно в любую программу, поддерживающую вставку из клипбоарда, в т.ч. на табличный документ в 1С в 7.7. В 8ку надо подумать.
А если речь идет о вставке картинок с программной привязкой к номенклатуре, то - принципиальной разницы с макросом, читающим картинки прямо со страники нет - все равно программу писать надо по выборке файлов и записи их (или хотя бы их путей) в БД. Встроенной функции ПрочитатьМногоКартинокИСамостоятельноПривязатьИхКНоменклатур­е вроде даже в 8.2 нет.
12. spbpavlov 33 22.04.10 18:32 Сейчас в теме
(0)
Видел написанные макросы для выгрузки на много много строк.


не через html, макросом можно сохранить картинку ~5 строк кода, это много?
16. Tatitutu 3855 22.04.10 20:44 Сейчас в теме
(12) Мне про макросы не нужно рассказывать :D
Сможете за свои слова ответить
макрос в 5 строк - листинг выложить здесь ?
(не все знаю что такое макрос и как его написать)
(14) нет слов...в шапке написано
"на мой взляд самый ПРОСТОЙ и самый БЫСТРЫЙ способ ... (не требующих особых навыков)" я показал вариант ! а не доказал что это Единственный и неповторимый способ.
Чем больше способов мы знаем, тем мы универсальнее )))
17. spbpavlov 33 22.04.10 21:17 Сейчас в теме
(16)
пример можно найти в интернете.
я могу и здесь написать, но так не интересно будет. тем более что вам про макросы не нужно рассказывать :D можно на что нибудь поспорить, если не верите. ;)
18. nafa 657 22.04.10 21:37 Сейчас в теме
(16) Так все-таки "загрузить" или "сохранить"? Сие разные вещи. Сохранить таким способом действительно быстро и удобно. А вот если надо "загрузить" (я так понимаю, что в какое-то еще приложение, например в 1С), то уже надо смотреть, в какое приложение, все/выборочно и т.п. Причем если речь идет об автоматической привязке к номенклатуре, то пока картинки лежат на листе (т.е. считываются макросом), их положение относительно ячейки с названием товара опеределяется на мой взгляд попроще, чем положение картинки относительно текста в создаваемом ХТМЛ файле.
20. Tatitutu 3855 22.04.10 22:53 Сейчас в теме
(18)
их положение относительно ячейки с названием товаре опеределяется на мой взгляд попроще
- порадовало.
Проще не куда, если учесть то что картинка непривязывается к ячейке и хорошо если у нее есть правильное имя.
(17) найдите если не трудно, я готов поспорить с Вами
за каждый лишний символ проигравший платит - с Вас размер суммы и вперед
21. nafa 657 23.04.10 00:28 Сейчас в теме
(20)
картинка непривязывается к ячейке

В ХТМЛе может и не привязывается, а вот на листе очень даже привязывается. Свойства TopLeftCell - ячейка, в которой нходится верхний левый угол, BottomRightCell - правый нижний.
А вообще наверное кто к чему привык. Кто с VBA дружит - тому макросами удобнее, кто с ХТМЛ - соответственно из файла читать. Всяк кулик свое болото хвалит.
artec4; Tatitutu; +2 Ответить
26. spbpavlov 33 23.04.10 09:46 Сейчас в теме
(20)
за каждый лишний символ проигравший платит
не понял, что считать лишним символом?
(24) речь идет о 5 операторах, этого достаточно чтобы сохранить картинку. 7 - сохранит более красиво.
27. Tatitutu 3855 23.04.10 10:24 Сейчас в теме
(26) Условие задачи:
написать макрос - который "ведернет" ВСЕ доступные картинки из книги EXCEL и сохранит их на диске.

можно оценить по скорости, оригинальности, по правильности кода, универсальности...и.т.д.
я предложил - главное условие чтобы работало согласно условия. И у кого будет меньше
символов кода
Sub ВыдергиваемКартинки()
с...

по.
End Sub
тот и победил !
29. spbpavlov 33 23.04.10 10:58 Сейчас в теме
(27) если не через сохранение в html то ок, иначе это одна строка:
ActiveWorkbook.ActiveSheet.SaveAs "C:\Test.htm", xlHtml
и сохранить нужно например в jpeg
32. gavlexx 39 23.04.10 16:11 Сейчас в теме
(27)
Интересно, как макросом можно сохранить картинку на диске? :o
У объекта Картинка Excel нет метода, позволяющего сохранить картинку на диск, только скопировать в буфер обмена...
35. Abadonna 3958 25.04.10 15:51 Сейчас в теме
(32)
Интересно, как макросом можно сохранить картинку на диске?

Вот так, например:
Option Explicit
Private Declare Function OpenClipboard Lib "user32.dll" (ByVal hwnd As Long) As Long
Private Declare Function CloseClipboard Lib "user32.dll" () As Long
Public Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function GetClipboardData Lib "user32.dll" (ByVal wFormat As Long) As Long
Private Declare Function CopyEnhMetaFile Lib "gdi32" Alias "CopyEnhMetaFileA" (ByVal hemfSrc As Long, ByVal lpszFile As String) As Long
Const CF_ENHMETAFILE As Long = 14


Sub GetPictures()
Dim PShape As Shape, hStrPtr As Long
    For Each PShape In ActiveSheet.Shapes
        If PShape.Type = msoPicture Then
            PShape.CopyPicture
            If Not CBool(OpenClipboard(0&)) Then
                MsgBox "Не удалось открыть буфер"
                GoTo NextSh
            End If
            hStrPtr = GetClipboardData(CF_ENHMETAFILE)
            If Not CBool(hStrPtr) Then
                MsgBox "Не удалось получить дескриптор"
                GoTo CloseClip
            End If
            If Not CBool(CopyEnhMetaFile(hStrPtr, "C:\TestPictures\" & "Picture " & hStrPtr & ".jpg")) Then
                MsgBox "Не удалось создать файл"
                GoTo CloseClip
        End If
CloseClip:
        CloseClipboard
NextSh:
        End If
    Next
    'очистка буфера обмена
    OpenClipboard (0&)
    EmptyClipboard
    CloseClipboard
    MsgBox "Картинки сохранены", 64, "Конец"
End Sub

Показать

P.S. Не мой пример, нагуглил
P.S.S Каталог C:\TestPictures\ сначала создайте на диске
14. nafa 657 22.04.10 19:25 Сейчас в теме
А вообще универсальный способ выдергивания рисунков - кнопочка PrtScr. Есть также специальные программы которые сами копируют определенную область экрана, выполняют прокрутку и так далее (полезно при работе со всякими замороченными форматами типа PDF)
15. script 128 22.04.10 19:31 Сейчас в теме
А мне понравилось! Поставлю +
Хотя думаю если бы задача такая возникла то я до этого допер бы.
Tatitutu; +1 Ответить
19. ACE$ 47 22.04.10 22:38 Сейчас в теме
а я, почему-то, считал это само собой разумеющимся...
то же самое касается всего офисного пакета от МС
22. Alien_RS_Forever 432 23.04.10 01:21 Сейчас в теме
(0) таким же образом автоматом генерятся письма в аутлуке и складываются в исходящие )) идея хороша
Tatitutu; +1 Ответить
23. Арчибальд 2706 23.04.10 09:03 Сейчас в теме
Чем больше способов мы знаем, тем мы универсальнее )))

И этим все сказано 8-)
24. nafa 657 23.04.10 09:25 Сейчас в теме
Да, еще, когда длину необходимого кода обсуждаем, то надо тоже поаккуратнее с терминами. 5 операторов (команд?), т.е. того, что отделяется друг от друга символом ";", может и не хватит, а вот 5 строк (т.е. того, что отделяется друг от друга нажатием клавиши"Ентер") с учетом того, что в каждую строку можно помещать несколько операторов :) хватит вполне.
25. Tatitutu 3855 23.04.10 09:43 Сейчас в теме
(24) Заблудились ? Ветку попутали :)
28. nafa 657 23.04.10 10:42 Сейчас в теме
(24) Нет, не перепутал
(26) (27) Просто сохранить, как правильно и написано в статье - это 1 оператор Save c указанием формата "HTML с картинками".
А сравнивать надо не сохранить, а полную обработку загрузки из Экселя в 1С - т.е. найти первый товар в прайсе, найти его в номенклатуре в 1С, если нет - создать, эту номенклатуру, найти соответствующую ей картинку и привязать к номенклатуре, перейти к следующему товару.
30. nafa 657 23.04.10 11:30 Сейчас в теме
А вообще метод классный. Очень удобен когда файлы, из которых надо импортировать данные, несистематизированы. Только не надо ничего никуда не сохранять. Делаем в 1С на форме поле ХТМЛ документа, включаем режим редактирования. В экселе - выделить все, копировать, в 1С - вставить. Все. Текст - доступен, все картиночки аккуратно сложены в LocalSettings\Temp, пути к картинкам в файле есть, левый верхний угол картинок к ячейкам подвязан.
Копировать, разумеется, можно не только из офиса, но и вообще из любого источника, поддерживающего ХТМЛ в буфере обмена (из почты, с веб-страницы и т.п.)
33. Batchir 126 24.04.10 08:53 Сейчас в теме
(30) :D nafa выиграл. Самый универсальный способ - простой КопиПаст, 0 строчек кода.
34. Abadonna 3958 24.04.10 19:34 Сейчас в теме
36. Parazyte 37 29.04.10 00:16 Сейчас в теме
Согласен, что если картинка одна в документе, то проще всего Копи -> MS Paint (или) любой др. графический редактор, а оттуда сохраняй в любой желаемый формат, попутно отредактировав изображение при необходимости.
37. Cvetic 307 04.05.10 13:19 Сейчас в теме
Tatitutu, спасибо, мне пригодилось :)
38. пользователь 17.05.11 21:42
Сообщение было скрыто модератором.
...
39. пользователь 22.05.12 10:53
Сообщение было скрыто модератором.
...
40. nataliagns 19.06.16 18:37 Сейчас в теме
Добрый день! Спасибо за статью, отличный способ. Только вот.. Можно как-то сделать, чтобы изображениям присваивалось скажем имя из той же ячейки, где они стоят?
41. Harmful 06.12.18 11:02 Сейчас в теме
думаю пдф также
Функция ПрочитатьКартинку_MSEXCEL(Знач EXCELApplication, Знач Sheet, Знач НомерКолонки, Знач НомерСтроки, Знач ИмяФайлаEXCEL, Знач НомерЛиста, Знач ПравилоИмяФайлаКартинки = "УИД")
	Перем GraphicObject, Chart;
	Перем ПолноеИмяФК, ФайлКартинки;
	
	Если Sheet.Shapes.Count() = 0 Тогда
		Возврат Неопределено;
	КонецЕсли;
	
	Для Каждого GraphicObject ИЗ Sheet.Shapes Цикл
		Если GraphicObject.Type = 13 И GraphicObject.TopLeftCell.Column = НомерКолонки И GraphicObject.TopLeftCell.Row = НомерСтроки Тогда
			
			// GraphicObject.Name.
			Если ПравилоИмяФайлаКартинки = "УИД" Тогда
				ПолноеИмяФК = КаталогВременныхФайлов() + Новый УникальныйИдентификатор() + ".jpg";
			Иначе
				ПолноеИмяФК = КаталогВременныхФайлов() + ИмяФайлаEXCEL + "Л" + НомерЛиста + "С" + НомерСтроки + "К" + НомерКолонки + ".jpg";
			КонецЕсли;
			
			Попытка
				GraphicObject.ScaleHeight(1,1);     // Истинный размер по высоте.
				GraphicObject.ScaleWidth(1,1);      // Истинный размер по ширине.
				GraphicObject.Copy();
				
				Chart = EXCELApplication.ActiveSheet.ChartObjects().Add(0, 0, GraphicObject.Width, GraphicObject.Height).Chart();
				Chart.Paste();
				Chart.Export(ПолноеИмяФК);
				
				Chart = Неопределено;
				
				ФайлКартинки = Новый Файл(ПолноеИмяФК);
				Если ФайлКартинки.Существует() Тогда
					Возврат ПолноеИмяФК;
				Иначе
					Сообщить("Не удалось экспортировать картинку из строки " + НомерСтроки + " колонки " + НомерКолонки + " в " + ПолноеИмяФК);
					Возврат Неопределено;
				КонецЕсли;
			Исключение
				Сообщить(ОписаниеОшибки());
				Сообщить("Не удалось экспортировать картинку из строки " + НомерСтроки + " колонки " + НомерКолонки + " в " + ПолноеИмяФК);
				Возврат Неопределено;
			КонецПопытки;
			
		КонецЕсли;
	КонецЦикла;
	
	Возврат Неопределено;
КонецФункции
Показать
CheBurator; Tatitutu; +2 Ответить
Оставьте свое сообщение