Имя: Пароль:
1C
1С v8
Конвертация Excel в картинку
0 filipp
 
09.12.15
17:26
Товарищи помогите!
Пользователь в екселе создает лист. На него вешает картинки, диаграммы, надписи. Все в произвольном порядке Необходимо все его художества конвертнуть в картинку и потом эту картинку  вставить в макет табличного документа. Как это сделать подскажите. Нашел Bullzip, но незнаю как заполнить "ТабличныйДокумент" данными из екселя.
1 Garykom
 
гуру
09.12.15
17:43
(0) еще одни извращенцы, не проще сразу через activex в макет засунуть исходный xls ?

ЗЫ хотя у вас "Exsel" какой то

ЗЗЫ v8: Как на форму или в табличный документ вставить Excel лист?
7 filipp
 
09.12.15
18:15
Garykom
Прочитал по ссылке так и не понял. Загвоздка в том что полученную картинку мне надо еще отмасштабировать. И вставить в нудном месте и еще вывести кучу информации.
8 Garykom
 
гуру
09.12.15
18:20
(7) зачем вставлять картинку сделанную по экселю?
когда можно вставить сам лист/книгу экселя?
9 Garykom
 
гуру
09.12.15
18:27
(8)+ в макете попробовать Таблица > Рисунки > Вставить объект > растянуть на макете > выбрать "Лист Microsoft Office Excel"
10 DrShad
 
09.12.15
19:07
В поиске Йоксель
11 filipp
 
09.12.15
20:29
DrShad
В поиске Йоксель

А разве Йоксель работает в 1с 8.3
12 filipp
 
09.12.15
20:30
Garykom
Завтра обязательно попробую.
13 DrShad
 
09.12.15
23:31
Еще как работает
14 filipp
 
10.12.15
11:22
DrShad Еще как работает
Тогда у меня возникла проблема как в параметр формы типа "ТабличныйДокумент" прописать все данные из экселя.
15 filipp
 
16.12.15
15:43
&НаКлиенте
Процедура Проба(Команда)
    
НовыйПринтер = "Bullzip PDF Printer (Ne05:)";
ИмяФайла = "D:\A\List_1";
xlsФайл = ИмяФайла+".xls";
JPGФайл = ИмяФайла+".PDF";
    
Эксель = Новый COMОбъект("Excel.Application");
Эксель.DisplayAlerts = False;
Книга = Эксель.WorkBooks.Open(xlsФайл);
Книга = Эксель.ActiveWorkbook;
Лист = Книга.WorkSheets(1);
Лист.PageSetup.Zoom = False;
Лист.PageSetup.FitToPagesWide = 1; // По ширине листа
Лист.PageSetup.FitToPagesTall = False;
Лист.PageSetup.Orientation = 1; // xlPortrait
Эксель.Visible = True;

СтарыйПринтер = Эксель.ActivePrinter;
Сообщить("Старый - " + Эксель.ActivePrinter);
    
Эксель.ActivePrinter = НовыйПринтер;
Сообщить("Новый - " + Эксель.ActivePrinter);
    
Попытка
ПДФПринтер = Новый ComObject("Bullzip.PDFPrinterSettings");
ПДФПринтер.SetValue("output", JPGФайл);
ПДФПринтер.SetValue("ShowSaveAS", "never");
ПДФПринтер.SetValue("ShowProgress", "no");
ПДФПринтер.SetValue("ShowProgressFinished", "no");
ПДФПринтер.SetValue("ShowSettings", "never");
ПДФПринтер.SetValue("ShowPDF", "no");
ПДФПринтер.SetValue("ConfirmOverwrite","no");
ПДФПринтер.WriteSettings();
Эксель.ActivePrinter = НовыйПринтер;
Эксель.Worksheets.PrintOut();

Исключение
        
Сообщить(ОписаниеОшибки());
Сообщить("Скорее всего необходимо установить или  переустановить ""Bullzip PDF Printer");
КонецПопытки;

Эксель.ActivePrinter =  СтарыйПринтер;
Сообщить("Новый -Старый -  " + Эксель.ActivePrinter);

Эксель.Quit();
    
КонецПроцедуры

// Если стоит PDF все нормально, но если ставлю JPGФайл = ИмяФайла+".JPG"; при попытки открыть файл пишет файл или поврежден или очень большой. Rак выйти из положения?
16 filipp
 
17.12.15
13:20
Решил но не совсем корректно.

Эксель.Worksheets.PrintOut(1,1,2,True);
Эксель.Worksheets.PrintOut();

При настройке Bullzip в качестве файлы указал JPG в качестве временной папки "C:\TEMP\". Единственное интересно, что к имени файла принтер добавляет "1". То есть искать файл надо "C:\TEMP\List_11.JPG".
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс