![]() |
![]() |
![]() |
|
html ссылки в таблице Excel, сохраненной из 1С | ☑ | ||
---|---|---|---|---|
0
vlad_161
11.03.14
✎
17:13
|
Здравствуйте форумчане.
Столкнулся со следующей проблемой: В 1С82 УТ 10.3 (с изменениями) формируется прайс-лист. В поле описание сохраняется html-ссылка на описание на сайте: ТаблицаВывода.Область(НС,НК).Текст="http://"+ИмяСайта+"/"+ТранслитДляИМ(Номенклатура.Наименование)+".html"); при сохранении в формате Excel поле отображается как текстовое. Только после входа в ячейку для редактирования (Enter-ом или двойным кликом мыши) и подтверждения изменений ссылка становится активной и по клику открывается страница с описанием. Что нужно сделать в 1С (свойство ячейки подправить или тип ячейки какой установить - не могу в справке найти) для чтобы после сохранения и открытия таблицы в Excel ссылки сразу били активными |
|||
1
DS
11.03.14
✎
17:24
|
Как всегда поможет запись макроса. Дело одной минуты.
|
|||
2
vlad_161
11.03.14
✎
17:46
|
не могу понять как в 1С засунуть
то-то типа: Range("K20").Select ActiveCell.FormulaR1C1 = _ "http://site.ru/Multivarka-SHIVAKI-SMC-6353.html" Range("K20").Select Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True |
|||
3
DS
11.03.14
✎
18:03
|
ЕксельЛист.Hyperlinks.Add(ЕксельЯчейкаКудаНадоДобавитьСсылку, СсылкаВТекстовомФормате, , , ТекстОтображенияНеОбязательный);
|
|||
4
vlad_161
11.03.14
✎
21:23
|
а если таблица описана
ТаблицаВывода=Новый ТабличныйДокумент; ФормаExcel =ОбработкаОбъект.ПолучитьФорму("ФормаExcel",,Новый УникальныйИдентификатор()); ТаблицаВывода = ФормаExcel.ЭлементыФормы.ТаблицаВывода; и потом ТаблицаВывода.Область(НС,НК).Текст="http://"+ИмяСайта+"/"+ТранслитДляИМ(Номенклатура.Наименование)+".html";); |
|||
5
vlad_161
11.03.14
✎
22:18
|
код подобный приведенному:
ЕксельЛист.Hyperlinks.Add(ЕксельЯчейкаКудаНадоДобавитьСсылку, СсылкаВТекстовомФормате, , , ТекстОтображенияНеОбязательный); присутствует в процедуре сохранения в формат Excel, но тем не менее в ячейке ссылка как и описывал ранее не активна пока не зайдешь и не выйдешь из ячейки Процедура ЗаписьExcel() ДиалогВыбораФайлов = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); ДиалогВыбораФайлов.Фильтр = "Файл данных (*.xls)|*.xls"; ДиалогВыбораФайлов.Расширение = "xls"; ДиалогВыбораФайлов.Заголовок = "Выберите файл"; Если Не ДиалогВыбораФайлов.Выбрать() тогда возврат; КонецЕсли; ЭлементыФормы.ТаблицаВывода.Записать(ДиалогВыбораФайлов.ПолноеИмяФайла,"xls"); Попытка Ексель = Новый COMОбъект("Excel.Application"); Исключение Ексель.Quit(); Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; Книга = Ексель.WorkBooks.Open(ДиалогВыбораФайлов.ПолноеИмяФайла); Лист = Книга.WorkSheets(1); ВсегоКолонок = Лист.Cells(3,1).SpecialCells(11).Column; ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row; Для Строка = 1 по ВсегоСтрок цикл Ячейка = Лист.Cells(Строка,2); Значение = СокрЛП(Лист.Cells(Строка,ВсегоКолонок).Value); если ПустаяСтрока(Значение) тогда Лист.Cells(Строка,ВсегоКолонок).Value=""; Продолжить; конецЕсли; Лист.Hyperlinks.Add(Ячейка,Значение,,); Лист.Cells(Строка,ВсегоКолонок).Value=""; конецЦикла; Попытка Ексель.DisplayAlerts = False; Книга.SaveAS(ДиалогВыбораФайлов.ПолноеИмяФайла); Исключение Сообщить(ОписаниеОшибки()+" Файл не сохранен!"); КонецПопытки; Ексель.ActiveWorkbook.Close(); Ексель.Quit(); Ексель=0; КонецПроцедуры |
|||
6
vlad_161
11.03.14
✎
23:58
|
разобрался, в приведенном коде гиперссылки создавались лишь для второго столбца, поправил, все нормально,
DS спасибо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |