Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Дек 2017, 09:26
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Вывод картинки из 1С в Excel 2007  (Прочитано 9495 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн uvl

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-06-21
  • Сайт: 
  • Профессия: Программист 8.1
Здравствуйте.
Ниже привожу код:
// Вставляем картинку в место, где спозиционирован курсор и выделяем ее 
ЛистНовый.Pictures.Insert(Путь).Select();
// Узнаем высоту картинки, если больше 80, то уменьшаем до 80
Если Число(ExcelApp.Application.Selection.ShapeRange.Height())>80 Тогда
   ExcelApp.Application.Selection.ShapeRange.Height=80;
КонецЕсли;
// Узнаем высоту картинки
PictureHeight=ExcelApp.Application.Selection.ShapeRange.Height();
// Устанавливаем туже высоту, для строки под картинкой
ЛистНовый.Rows(СтрокаНач).RowHeight = PictureHeight;
// добавляем гиперссылку к картинке
ЛистНовый.Hyperlinks.Add(ExcelApp.Application.Selection.ShapeRange.Item(1),ВыборкаСсылка.url);

В excel 2003 все нормально отрабатывается,
каждая картинка вставляется в нужные строчки в цикле естественно, где СтрокаНач постоянно увеличивается,
т.е. = 1, 2, 3... 5... ну так далее...
А вот в 2007м все картинки добавляются в первую ячейку  :(
То есть позиционирования на строке не происходит...
Как бы это решить?
Еще нюанс, Ексель 2007 почему то не записывает макросы при вставке картинки, так бы я хоть посмотрел методы в VBA...


Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Гугл говорит что картинку в 2007 вставлять надо через
Shapes.AddPicrure
сам не проверял

Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Чет не понятно немного, в каком месте ошибка то?

Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Во, взял твой код на основу. Макрос работает в экселе 2007, на 1С думаю переделаешь. Только высоту строки не меняет чет
For i = 20 To 100
   'ActiveSheet.Pictures.Insert("E:\123.jpg").Select
   ActiveSheet.Shapes.AddPicture "E:\123.jpg", False, True, 100, i, 80, 80
   ActiveSheet.Pictures.Paste.Select
   ' Узнаем высоту картинки, если больше 80, то уменьшаем до 80
   If Selection.ShapeRange.Height > 80 Then
      Selection.ShapeRange.Height = 80
   End If
   ' Узнаем высоту картинки
   PictureHeight = Selection.ShapeRange.Height
   ' Устанавливаем туже высоту, для строки под картинкой
   ActiveSheet.Rows(i).RowHeight = PictureHeight
   i = i + 10
Next

Оффлайн uvl

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-06-21
  • Сайт: 
  • Профессия: Программист 8.1
да, уже разобрался что надо так:

Ячейки = ЛистНовый.Cells;
Ячейка = Ячейки.Item(СтрокаНач,2);
Shapes.AddPicture(Путь, 0, -1, Ячейка.Left, Ячейка.Top, ШиринаКартинки, ВысотаСтроки);

Только как бы еще получить ШиринаКартинки ???
поскольку ВысотаСтроки может быть разной, и размер картинки тоже, т.е. пропорционально чтоб она вставлялась...

Оффлайн uvl

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-06-21
  • Сайт: 
  • Профессия: Программист 8.1
Для полноты темы:

// получаем высоту и ширину картинки
 
// Для работы нам потребуется внешняя dll
 
// http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=a332a77a-01b8-4de6-91c2-b7ea32537e29#filelist
 
// файл (WIAAutSDK.zip)
 
Img = Новый COMОбъект("WIA.ImageFile"); 
Img.LoadFile(Путь);
ВысотаКартинки = Img.Height;
ШиринаКартинки = Img.Width;

Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
А средствами экселя или 1С никак?


Теги:
 

Вывод комментария в документ "Расходная накладная" из документа "Заказ покупателя"

Автор ОльгаПлРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 213
Последний ответ 07 Окт 2017, 19:03
от Norfolk
Вывод результата запроса через условие другого запроса

Автор jonik_jokerРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 2911
Последний ответ 16 Окт 2013, 15:08
от jonik_joker
Вывод линейной таблицы посредством СКД в виде "шахматки"

Автор VdegРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 9
Просмотров: 10752
Последний ответ 19 Апр 2011, 11:12
от Klyacksa
Вывод набора данных "объединение" скд в дерево значений

Автор Gae4kaРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 1558
Последний ответ 02 Июн 2015, 12:19
от Gae4ka
Как добавить вывод ДоговораКонтрагента в печатную форму "Счет на оплату"

Автор ValentusРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 12974
Последний ответ 09 Июн 2010, 15:25
от Karamelkina

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
alex0402
50 Сообщений
AIFrame
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
alexandr_ll
24 Сообщений

* Кто онлайн

  • Точка Гостей: 167
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal