Имя: Пароль:
1C
1C 7.7
v7: Проблема при вставке картинок в Excel
0 rbserg
 
29.05.13
19:19
Понадобился прайс с картинками (опционально).  По галке добавляется колонка, в которую пишется выражение "##+ПолныйПутьКФайлу"
Таблица потом отдается обработке "конвертацияВЭксель" (брал вроде на инфостарте) где работает следующий код:
ИначеЕсли Лев(Зн1С,2) = "##" Тогда
   // Картинка
   ЯЧейка1 = вЛистХЛС.Cells(СчРядов,СчКолонок);
   ЯЧейка1.Value = "";
   вИмяФайла = Сред(Зн1С,3);
   вИмяФайла = СокрЛП(вИмяФайла);
   Если ПустоеЗначение(вИмяФайла) = 0 Тогда
       вСтрокаСообщ = "Строка: " +СчРядов+"/"+счКолонок +" => "+ вИмяФайла;
       Если ФС.СуществуетФайл(вИмяФайла) = 1 Тогда

           ЯЧейка1 = вЛистХЛС.Cells(СчРядов,СчКолонок);
           ЯЧейка1.Value = "";
           ЯЧейка1.Select();

           вКартинка = вЛистХЛС.Pictures.Insert(вИмяФайла);
           вВыделение = вКартинка.Select();
           вRowHeight  = вКартинка.Height;

           вКартинка_Height = вКартинка.Height;
           вКартинка_Width = вКартинка.Width;
           вRowHeight  = Цел(вКартинка.Height * гМасштабКартинки / 100);
           вКартинка.Height = вRowHeight;
           вКартинка.Width = Цел(вКартинка.Width * гМасштабКартинки / 100);
           вСтало  = Цел(вRowHeight);
           вБыло  = 0;
           Попытка
               вБыло  = ЯЧейка1.Rows.item(СчРядов).RowHeight;
               ЯЧейка1.Rows.item(СчРядов).RowHeight = Цел(вRowHeight);
               вСтало = ЯЧейка1.Rows.item(СчРядов).RowHeight;
           Исключение
               вСтрокаСообщ = вСтрокаСообщ + "; " + ОписаниеОшибки()+" [20130528-0054]";
           КонецПопытки;
           вТаблаУстРазмСтрок.НоваяСтрока();
           вТаблаУстРазмСтрок.Колонка = счКолонок;
           вТаблаУстРазмСтрок.Строка = счРядов;
           вТаблаУстРазмСтрок.Высота = вСтало;
           
           вСтрокаСообщ = вСтрокаСообщ + Шаблон(" [вКартинка_Width]/[вКартинка_Height] => [вКартинка.Height]/[вКартинка.Width] строка: "+СчРядов + " (Выс строки) было: [вБыло] стало размер: [вСтало]");
       Иначе
           вСтрокаСообщ = вСтрокаСообщ + " Файл не существует: " + вИмяФайла;
       КонецЕсли;
   КонецЕсли;
КонецЕсли;
Если ПустоеЗначение(вСтрокаСообщ) = 0 Тогда
   Сообщить(вСтрокаСообщ);
КонецЕсли;
...................
проблема в том, что код срабатывает с грехом пополам (не силен в экселе).
Картинки принимают необходимый размер, но строки к сожалению НЕ ВСЕ меняют высоту. Есть мысли где я прокололся?
1 rbserg
 
29.05.13
19:36
где же рпофи?
2 rbserg
 
29.05.13
19:37
профи :)
3 ЧеловекДуши
 
30.05.13
07:17
(2) Держи, и не жужи.
http://yoksel.net.ru/HomePage

И ибо там все есть, читай :)
4 rbserg
 
30.05.13
14:31
up. нужна помощь.
5 rbserg
 
04.06.13
13:50
решил проблему
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший