|   |   | 
| 
 | Вставка гиперссылок в 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) да, на сервере (в фоновом задании формируются отчеты, сохраняются в эксель и обрабатываются определенным образом). Так на экране и так ничего не отображается...     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |