|
excel | ☑ | ||
---|---|---|---|---|
0
Renat11111
18.10.11
✎
21:27
|
Для Каждого MyPic Из Лист.Pictures Цикл
MyPic.Select(); КонецЦикла; Каким методом могу сохранить в картинку в указанном каталоге? |
|||
1
wade25
18.10.11
✎
21:33
|
Не помешала бы тебе обработка та =)
|
|||
2
BuHu
18.10.11
✎
21:36
|
(0)а зачем ты ту обработку просил?там же описано как сохранить картинки из файла эксль , или тебе программно надо?
|
|||
3
Renat11111
18.10.11
✎
21:37
|
(2) только программно
|
|||
4
Renat11111
18.10.11
✎
21:38
|
я для себя уже решил... сохранить нужно в какой то каталог потом по имени искать и создавать Новый Картинка(МойКаталог+МоеИмя). Просто не могу картинку сохранить...
|
|||
5
BuHu
18.10.11
✎
21:39
|
(3) есть у меня кусок кода , сейчас кину , только там врятли оптимальный вариант , но работает.
|
|||
6
Renat11111
18.10.11
✎
21:39
|
(5) да мне щас не до оптимальности, если честно
|
|||
7
BuHu
18.10.11
✎
21:39
|
MyPath = ИмяФайлаЕксель;//ПутьКПрайсу - на форме.
myOlApp = Новый COMОбъект ("Excel.Application"); MyWo= myOlApp.Workbooks.Open(MyPath, , True); MySheet=MyWo.Worksheets(1);//Предполагаем, что картинки на первом листе. Сч = 1; Для Каждого MyPic Из MySheet.Pictures Цикл str = MySheet.Name; MyPic.Select(); lH = myOlApp.Selection.Height; lW = myOlApp.Selection.Width; Если lH=0 Тогда Продолжить; КонецЕсли; myOlApp.Selection.Copy(); Chart = myOlApp.Charts.Add();//Добавлем диаграмму. myOlApp.ActiveChart.Location(2,str);//Помещаем диаграмму на наш лист. 2 - это xlLocationAsObject. strShNa = myOlApp.ActiveChart.Name; strShNa = СокрЛП(СтрЗаменить(strShNa, str, "")); myOlApp.ActiveSheet.Shapes(strShNa).Height = lH * 1.001; myOlApp.ActiveSheet.Shapes(strShNa).Width = lW * 1.001; //myOlApp.DoEvents(); myOlApp.ActiveChart.Paste();//Пуляем картинку в диаграмму. myOlApp.ActiveChart.Export(ПутьККартинкам+"Pic"+Сч+".jpg", "jpg");//Созраняем диаграмму как картинку jpeg. ПутьККартинкам - на форме. myOlApp.ActiveSheet.Shapes(strShNa).Delete();//Удаляем диаграмму КонецЦикла; MyWo.Close(False); |
|||
8
Renat11111
18.10.11
✎
21:59
|
(7) Код без ошибок проходит, но ни фига не сохраняет
|
|||
9
Renat11111
18.10.11
✎
22:02
|
вру получилось... спасибо
|
|||
10
BuHu
18.10.11
✎
22:04
|
(9) глянул твои предыдущие ветки , вопрос :
КодРисунка = MyPic.ShapeRange.AlternativeText; что там за код рисунка ? от куда он берется? |
|||
11
Renat11111
19.10.11
✎
10:03
|
(10) Туда завод производитель пихает код товара. тоесть я беру оттуда код и ищу в 1с товар по нему.
|
|||
12
BuHu
19.10.11
✎
11:52
|
(11) как они его туда пихают , программно? как интерактивно в экселе засунуть нужное значение в AlternativeText ?
|
|||
13
Renat11111
19.10.11
✎
13:03
|
(12) видимо программно.... у меня excel файл с 500 000 наименований. врядли кто то вручную такое будет делать. Как интерактивно не знаю
|
|||
14
Renat11111
19.10.11
✎
13:10
|
кстати по поводу темы.... выгрузить во временный каталог и загрузить картинку в 1с получилось, но картинка какая то стремная, очень плохое качество. С этим что то можно придумать?
ТекКод = MyPic.ShapeRange.AlternativeText; ИмяФайлаКартинки = "C:\Users\Renat\Desktop\Заеб\"+ТекКод+".jpg"; myOlApp.ActiveChart.Export(ИмяФайлаКартинки, "jpg");//Созраняем диаграмму как картинку jpeg. ПутьККартинкам - на форме. СтруктураЗаписи.Очистить(); СтруктураЗаписи.Вставить("Картинка" , ИмяФайлаКартинки); СтруктураЗаписи.Вставить("Код" , ТекКод ); ДобавитьОбновитьСправочникНоменклатура(СтруктураЗаписи); Функция ДобавитьОбновитьСправочникНоменклатура (СтруктураЗаписи) КодПоиска = Лев(Строка(СокрЛП(СтруктураЗаписи.Код)),8); СсылкаНаОбъект = Справочники.Номенклатура.НайтиПоКоду(КодПоиска); Если НЕ СсылкаНаОбъект.Пустая() Тогда МенеджерЗаписи = СсылкаНаОбъект.ПолучитьОбъект(); Иначе Сообщить("Не найден элемент"": " + " " + СтруктураЗаписи.Наименование); КонецЕсли; НовыйОбъект = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент(); НовыйОбъект.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение; НовыйОбъект.Хранилище = Новый ХранилищеЗначения(Новый Картинка(СтруктураЗаписи.Картинка), Новый СжатиеДанных); НовыйОбъект.Объект = МенеджерЗаписи.Ссылка; НовыйОбъект.Записать(); МенеджерЗаписи.ОсновноеИзображение = НовыйОбъект.Ссылка; МенеджерЗаписи.Записать(); КонецФункции |
|||
15
BuHu
19.10.11
✎
13:47
|
(14) может при копировании и происходит сжатие , но я думаю, что просто картинки изначально такого качества , т.к. у меня бывало после загрузки картинок в 1с некоторые плохого качества некоторые хорошего.
|
|||
16
Renat11111
19.10.11
✎
14:05
|
(15) изначально хорошего качества.... сохраняю excel как веб документ картинка весит 12,5 кб, сохраняю программно всего 1,5.
|
|||
17
Renat11111
19.10.11
✎
14:05
|
может знаешь как побороть?
|
|||
18
Renat11111
19.10.11
✎
14:08
|
(15) пароль какой для файла, который ты прислал?
|
|||
19
Renat11111
19.10.11
✎
14:28
|
ап
|
|||
20
Renat11111
19.10.11
✎
15:01
|
ау хелп
|
|||
21
BuHu
20.10.11
✎
11:26
|
(18) ни че не присылал
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |