|
Вставка гиперссылок в Excel | ☑ | ||
---|---|---|---|---|
0
Dolphinbet
27.07.16
✎
17:02
|
Добавляю в отчет в экселе гиперссылки с помощью следующего кода:
excel = Новый COMОбъект("Excel.Application"); Книга = excel.WorkBooks.Open(ПутьКФайлуотчета); List = Книга.Sheets(1); ВсегоСтрок = List.Cells(1,1).SpecialCells(11).Row; Для i=1 по ВсегоСтрок цикл Hyperlink = "..."; List.Hyperlinks.Add(List.Cells(i,5), Hyperlink, , , СокрЛП(List.Cells(i,5).Text)); КонецЦикла; Все работает, но при большом количестве строк процесс занимает много времени, хотелось бы его ускорить, кто-нибудь может предложить более быстрый вариант? |
|||
1
В тылу врага
27.07.16
✎
17:05
|
у нас так:
Ячейка = Лист.Cells(Строка, й0); Ячейка.Hyperlinks.Add(Ячейка, ГиперСсылка); |
|||
2
Dolphinbet
27.07.16
✎
17:07
|
(1) ну это тоже самое)
|
|||
3
Dolphinbet
27.07.16
✎
17:12
|
Хотелось бы посмотреть на вариант работы с Excel через ADODB... как через него вставить гиперссылки?
|
|||
4
Dolphinbet
27.07.16
✎
17:51
|
Есть вообще какие-нибудь хорошие библиотеки для работы с файлами в формате xlsx помимо COMОбъект("Excel.Application"), который использовать вроде как не рекомендует Майкрософт?
|
|||
5
Tatitutu
27.07.16
✎
18:03
|
Запиши макрос средствами EXCEL в личную книгу макросов и вызывай макрос из 1С (если задача локальная то в разы быстрее)
|
|||
6
b_ru
27.07.16
✎
19:32
|
>>Все работает, но при большом количестве строк процесс занимает много времени, хотелось бы его ускорить, кто-нибудь может предложить более быстрый вариант?
Сформируй табличный документ с гиперссылками, сохрани в xlsx >>помимо COMОбъект("Excel.Application"), который использовать вроде как не рекомендует Майкрософт? наркоман штоле© >>если задача локальная то в разы быстрее и ты наркоман Еще я у тебя в коде Application.ScreenUpdating = Ложь не вижу |
|||
7
MaxS
27.07.16
✎
19:43
|
Средствами 1С записать xlsx, вместо гиперссылки какое-нибудь значение.
Распаковать файл и поменять текст на гиперссылки, запаковать обратно. Предварительно сделать пример файла с гипер сылкой, чтобы было понятно что писать в xml. Сам так не делал, предположил просто. )) |
|||
8
romix
27.07.16
✎
21:46
|
Невидимость там включить...
|
|||
9
Dolphinbet
28.07.16
✎
10:03
|
(6)Сформируй табличный документ с гиперссылками, сохрани в xlsx
Не очень понял, как в табличный документ 1С можно вставить гиперссылки?.. Application.ScreenUpdating = Ложь Это зачем? |
|||
10
Dolphinbet
28.07.16
✎
10:07
|
(7) да, чисто теоретически можно распаковать файл xlsx и работать с xml файлами. Однако трудоемкость данной задачи приличная)
|
|||
11
Dolphinbet
28.07.16
✎
10:16
|
(6)>>помимо COMОбъект("Excel.Application"), который использовать вроде как не рекомендует Майкрософт?
наркоман штоле© https://support.microsoft.com/ru-ru/kb/257757 Корпорация Microsoft не советует производить и не поддерживает серверной автоматизации Office. |
|||
12
Dolphinbet
28.07.16
✎
10:17
|
Корпорация Microsoft на сегодняшний день не рекомендует производить и не поддерживает автоматизацию программ из пакета Microsoft Office с помощью автоматических, неинтерактивных клиентских приложений или компонентов (включая ASP, DCOM и службы NT), поскольку при запуске в этом окружении программы пакета Office могут работать нестабильно или зависать.
|
|||
13
b_ru
28.07.16
✎
13:21
|
(9) Application.ScreenUpdating = Ложь отключает обновление экрана Excel и ускоряет его работу.
(11) Ты это &НаСервере запускаешь? |
|||
14
Dolphinbet
28.07.16
✎
15:42
|
(13) да, на сервере (в фоновом задании формируются отчеты, сохраняются в эксель и обрабатываются определенным образом). Так на экране и так ничего не отображается...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |