|
Excel добавить изображение со ссылкой | ☑ | ||
---|---|---|---|---|
0
myr4ik07
17.08.18
✎
11:53
|
Ex = Новый COMObject("Excel.Application");
как через 1с программно на лист екселя добавить изображение со при нажатии на которую переход осуществляеться на следующий лист? простую текстовую ссылку добавил, а вот ссылку из изображение не выходит |
|||
1
shadow_sw
17.08.18
✎
11:55
|
словарь - дорого!
|
|||
2
Deon
17.08.18
✎
12:21
|
(0) Добавь сначала изображение, потом добавь ссылку
|
|||
3
myr4ik07
17.08.18
✎
15:21
|
(2) на словах звучит на раз два, пример есть?
|
|||
4
myr4ik07
17.08.18
✎
15:23
|
(1) ты че тупишь?
|
|||
5
myr4ik07
17.08.18
✎
16:21
|
вроде и нашел https://stackoverflow.com/questions/43466649/vba-add-hyperlink-to-a-picture но не могу понять как описать с 1с, кто подскажет?
|
|||
6
sitex
naïve
17.08.18
✎
16:27
|
(0) ПРочитал не понял что нужно итого .
|
|||
7
myr4ik07
17.08.18
✎
16:32
|
(6) ексел из множества листов, стрелкой выделено изображение на листе, при нажатии на него должно переход быть на первый лист
http://prntscr.com/kjsevw |
|||
8
myr4ik07
17.08.18
✎
16:33
|
ексел формируеться полностью программно из 1с
|
|||
9
myr4ik07
17.08.18
✎
16:33
|
для текстовой ссылки сделал http://prntscr.com/kjsfh0
|
|||
10
sitex
naïve
17.08.18
✎
17:04
|
ну код то скинь , телепаты ушли в отпуск.
|
|||
11
sitex
naïve
17.08.18
✎
17:04
|
(0) Либо через VBA (макрос ), либо вроде ActiveSheet.Pictures.Insert.
2-ой вариант предпочтительней |
|||
12
myr4ik07
17.08.18
✎
17:37
|
(10) какой код? я как раз кодом и прошу чот бы поделились
|
|||
13
myr4ik07
17.08.18
✎
17:38
|
(11) Pictures нет такого свойства или метода Листе, пробовал
|
|||
14
Deon
17.08.18
✎
17:46
|
(13) А вот тут ты лукавишь. Есть у листа Pictures
Код-то уже покажи |
|||
15
Deon
17.08.18
✎
17:49
|
Excel = Новый COMОбъект("Excel.Application");
Book = Excel.Workbooks.Open(ИмяФайлаXLSX); Лист = Excel.ActiveSheet; Лист.Pictures.Insert("C:\Картинка.png"); |
|||
16
Tatitutu
17.08.18
✎
17:55
|
(13) изучай
http://msoffice-nm.ru/faq/macros/hyperlinks.htm |
|||
17
trdm
18.08.18
✎
00:16
|
ИначеЕсли Лев(Зн1С,2) = "##" Тогда
// Картинка ЯЧейка1 = вЛистХЛС.Cells(СчРядов,СчКолонок); ЯЧейка1.Value = ""; вИмяФайла = Сред(Зн1С,3); вИмяФайла = СокрЛП(вИмяФайла); вСтрокаСообщ = ""; Если ПустоеЗначение(вИмяФайла) = 0 Тогда вСтрокаСообщ = "Строка: " +СчРядов+"/"+счКолонок +" => "+ вИмяФайла; Если ФС.СуществуетФайл(вИмяФайла) = 1 Тогда //вЛистХЛС.Shapes.AddPicture(вИмяФайла,"","",вЛистХЛС.Cells(СчРядов,СчКолонок).Left); ЯЧейка1 = вЛистХЛС.Cells(СчРядов,СчКолонок); ЯЧейка1.Value = ""; ЯЧейка1.Select(); гНомерКолонкиСКартинками = СчКолонок; //вСелект = вЛистХЛС.Range("A6").Select //вКартинка = вЛистХЛС.Pictures.Insert(вИмяФайла); /// Работает. Попытка вКартинка = ЯЧейка1.Parent.Pictures.Insert(вИмяФайла); вОффСет = гОффсетКартинки; вКартинка.Top = ЯЧейка1.Top + вОффСет; вКартинка.Left = ЯЧейка1.Left + вОффСет; вВыделение = вКартинка.Select(); вRowHeight = вКартинка.Height; вWidth = Цел(вКартинка.Width); вМасштаб = гМасштабКартинки; вСтрокаСообщ = Шаблон("Выс: [вRowHeight] шир: [вWidth]"); Если гМаксРеброКартинки>0 Тогда вМаксРебро = Макс(вКартинка.Height, вКартинка.Width); вМасштаб = гМаксРеброКартинки *100 / вМаксРебро; //вМасштаб = Цел(вМасштаб); // есть картинка у которой мастаб получился 0.3012, т.е. цел(масштаб) = 0 - плохо, картинка не смасштабируется вМасштаб = Окр(вМасштаб,2,1); вСтрокаСообщ = вСтрокаСообщ + Шаблон(" м.ребро: [вМаксРебро] => масштаб: [вМасштаб]"); КонецЕсли; Если вМасштаб > 0 Тогда вRowHeight = Цел(вКартинка.Height * вМасштаб / 100); вКартинка.Height = вRowHeight; вWidth = Цел(вКартинка.Width * вМасштаб / 100); вWidth = Цел(вWidth); вКартинка.Width = вWidth; вСтрокаСообщ = вСтрокаСообщ + Шаблон(" стало: '[вRowHeight]'[вWidth]'"); КонецЕсли; //Если гМасштабКартинки<>100 Тогда гМаксШиринаКолСКартинками = Макс(вWidth,гМаксШиринаКолСКартинками); вТаблаУстРазмСтрок.НоваяСтрока(); вТаблаУстРазмСтрок.Колонка = счКолонок; вТаблаУстРазмСтрок.Строка = счРядов; вТаблаУстРазмСтрок.Высота = вRowHeight; вТаблаУстРазмСтрок.ИмяФайла = вИмяФайла; //Сообщить(вСтрокаСообщ); Исключение вСтрокаОшибки = ОписаниеОшибки() + " [20140617-1106]"; глСообщитьОбОшибке(вСтрокаОшибки,"!"); глЗаписатьВЛогФайлУпрощенно(глИмяЛогаОшибокОбщего, вСтрокаОшибки); глЗаписатьВЛогОшибокВерсиюExcel(вЕксил); КонецПопытки; КонецЕсли; КонецЕсли; //} © ТрДм 27.05.2013 21:33:58 КонецЕсли; |
|||
18
Cyberhawk
18.08.18
✎
11:40
|
Если xlsx, то однозначно нативно
|
|||
19
myr4ik07
19.08.18
✎
00:04
|
||||
20
Cyberhawk
19.08.18
✎
00:41
|
(19) Правильный ответ там в посте номер 5
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |