Excel добавить изображение со ссылкой

1. jaroslav.h 180 17.08.18 16:55 Сейчас в теме
Ексел из множества листов, стрелкой выделено изображение на листе, при нажатии на него должно переход быть на первый лист
http://prntscr.com/kjsevw

ексел формируеться полностью программно из 1с

как это реализовать?
По теме из базы знаний
Найденные решения
4. SlavaKron 18.08.18 08:27 Сейчас в теме
&НаКлиенте
Процедура Сформировать(Команда)
	ПриложениеЭксель = Новый COMОбъект("Excel.Application");
	ПриложениеЭксель.Visible = Истина;
	КнигаЭксель = ПриложениеЭксель.Workbooks.Add();
	
	КоличествоЛистов = КнигаЭксель.Sheets.Count;
	АдресПервогоЛиста = КнигаЭксель.Sheets(1).Name + "!A1";
	Для Сч = 2 По КоличествоЛистов Цикл
		
		ЛистЭксель = КнигаЭксель.Sheets(Сч);
		
		Стрелка = ЛистЭксель.Shapes.AddShape(34, 100, 10, 160, 56);
		Стрелка.Fill.ForeColor.RGB = RGB(255, 160, 64);
		Стрелка.Line.ForeColor.RGB = RGB(128, 80, 32);
		
		Надпись = Стрелка.TextFrame.Characters();
		Надпись.Text = "Оглавление";
		Надпись.Font.Size = 14;
		Надпись.Font.Bold = True;
		Стрелка.TextFrame.HorizontalAlignment = -4108;
		
		ЛистЭксель.Hyperlinks.Add(Стрелка, , АдресПервогоЛиста);
	КонецЦикла;
	КнигаЭксель.Sheets(КоличествоЛистов).Activate();
	ПриложениеЭксель.ActiveWindow.Activate();
	ПриложениеЭксель.WindowState = 2;
	ПриложениеЭксель.WindowState = 1;
КонецПроцедуры

&НаКлиенте
Функция RGB(r, g, b)
	Возврат b * 65536 + g * 256 + r
КонецФункции
Показать
jaroslav.h; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. SlavaKron 18.08.18 08:27 Сейчас в теме
&НаКлиенте
Процедура Сформировать(Команда)
	ПриложениеЭксель = Новый COMОбъект("Excel.Application");
	ПриложениеЭксель.Visible = Истина;
	КнигаЭксель = ПриложениеЭксель.Workbooks.Add();
	
	КоличествоЛистов = КнигаЭксель.Sheets.Count;
	АдресПервогоЛиста = КнигаЭксель.Sheets(1).Name + "!A1";
	Для Сч = 2 По КоличествоЛистов Цикл
		
		ЛистЭксель = КнигаЭксель.Sheets(Сч);
		
		Стрелка = ЛистЭксель.Shapes.AddShape(34, 100, 10, 160, 56);
		Стрелка.Fill.ForeColor.RGB = RGB(255, 160, 64);
		Стрелка.Line.ForeColor.RGB = RGB(128, 80, 32);
		
		Надпись = Стрелка.TextFrame.Characters();
		Надпись.Text = "Оглавление";
		Надпись.Font.Size = 14;
		Надпись.Font.Bold = True;
		Стрелка.TextFrame.HorizontalAlignment = -4108;
		
		ЛистЭксель.Hyperlinks.Add(Стрелка, , АдресПервогоЛиста);
	КонецЦикла;
	КнигаЭксель.Sheets(КоличествоЛистов).Activate();
	ПриложениеЭксель.ActiveWindow.Activate();
	ПриложениеЭксель.WindowState = 2;
	ПриложениеЭксель.WindowState = 1;
КонецПроцедуры

&НаКлиенте
Функция RGB(r, g, b)
	Возврат b * 65536 + g * 256 + r
КонецФункции
Показать
jaroslav.h; +1 Ответить
6. jaroslav.h 180 18.08.18 23:56 Сейчас в теме
(4)
Стрелка = ЛистЭксель.Shapes.AddShape(34, 100, 10, 160, 56);
Стрелка.Fill.ForeColor.RGB = RGB(255, 160, 64);
Стрелка.Line.ForeColor.RGB = RGB(128, 80, 32);

Надпись = Стрелка.TextFrame.Characters();
Надпись.Text = "Оглавление";
Надпись.Font.Size = 14;
Надпись.Font.Bold = True;
Стрелка.TextFrame.HorizontalAlignment = -4108;

ЛистЭксель.Hyperlinks.Add(Стрелка, , АдресПервогоЛиста);


да, работает, спасибо, а если у меня уже есть своя картинка, как сделать что бы на свою картинку при нажатии на главную попадать?
2. Timur.V 78 17.08.18 17:04 Сейчас в теме
Может быть сделать шаблон excel с кнопкой и макросом, до работы в 1с т.е. заранее.
И его заполнять из 1с. А далее открывать.

Хотя, кажется можно всё делать в 1с
https://infostart.ru/public/340826/
3. jaroslav.h 180 17.08.18 17:44 Сейчас в теме
(2)дело в том, что все формируеться программно и нужно программно изображение со ссылкой сделать, один только этот нюанс остался
5. Сурикат 394 18.08.18 09:58 Сейчас в теме
Мы делали похожий случай, только с ограничением, что нельзя использовать COM-объект Excel из-за политики компании.

Разбирали архив xlsx и правили xml
7. jaroslav.h 180 19.08.18 00:01 Сейчас в теме
Стрелка = ПутьКПапкеНаСервере + "Стрелка.png";

Верх = Ячейка.Top+10;
Лево = Ячейка.Left+200;
ВысотаКартинки = 50;
ШиринаКартинки = 150;
Изображение =ДобавленныйЛист.Shapes.AddPicture(Стрелка, Истина, Истина, Лево, Верх, ШиринаКартинки, ВысотаКартинки);
ДобавленныйЛист.Hyperlinks.Add(Изображение, , "ГЛАВНАЯ!R1C");




стрелка со своим изобаржением
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот