7.7 Гипер ссылки в экселе

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем alp, 3 мар 2010.

  1. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    Доброе время суток. Возможно ли при выгрузке в эксель формировать гипер ссылки?
    подобно расщифровкам, если можно то подскажите как пожалуйста :unsure:
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    вот так:
    Код:
    Ячейка = Прайс.Sheets(1).Cells(5,7);
    Прайс.Sheets(1).Hyperlinks.Add(Ячейка,"http://www.1c-pro.ru";,,);
    
    
  3. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    А как можно Резульатирующую таблицу выгрузить в эксель ? метод "выгрузить" не подходит , так как мне надо эти данные размешать на нескольких листах экселя.
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Тогда только поэлементно в каждую ячейку
  5. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    Есть еще такая проблема :
    При формирование уже конечного файла 1С виснет.
    Пишу:
    Код:
    Таб.Записать(ИмяФайла,1); // таб - резултатирующая таблица.
    
    
    Если отчет относительо не большой , то все ок, но если в нем 1000+ строк файл не может сохранить,
    аналогичная проблема когда делаеш : файл - Сохранить как.
    В чем причина и как её обойти ?
    Или Подскажите как отчет в эксел выгрузить?
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Старая проблема.
    Есть 3 варианта решения
    1) Сохранять напрямую в Excel по OLE (можно рисовать рамки и все такое)
    2) Сохранить в текстовый файл с разделителями и потом прочитать в Excel (самый быстый способ)
    3) Использовать внешние дополнительные компоненты
  7. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    уже пробовал , не получается у меня рамки , рисунок и объединение ячеек.
    Если Подскажтете как буду очень признателен.
  8. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Включаешь в экселе запись макросов.
    меняешь/объединяешь/красишь/и т.д ячейки как тебе надо.

    Потом полученный код переносишь в 1С, подставляя нужные объекты и переменный, корректируя лексику.
  9. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    В итоге надо получить файл эксель где все цветное и с картинкой , подскажите кал лучше и бысрее это сделать?
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Все опять упирается в размер. Если не слишком много данных - формируйте в таблицу и сохраняте как XLS. Если много данных - OLE. Помните про органичение Excel 2003 включительно (количество строк не должно превышать 65535)
  11. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    У меня тока через ОЛЕ, размер большой.
    Код:
    ВсегоСтрок=Таб.ВысотаТаблицы();
    Для Стр=1 По ВсегоСтрок Цикл 
    Если Стр % 100 = 0 Тогда
    Прервать;
    КонецЕсли;
    Состояние("Загруженно Строк в файл: "+ Стр+" из "+ВсегоСтрок);
    Для Столб=1 По Таб.ШиринаТаблицы() Цикл
    Эксель.Sheets(1).Cells(Стр,Столб).value=Таб.Область(Стр,Столб).Текст;
    Эксель.Sheets(1).Cells(Стр,Столб).Font.name=Таб.Область(Стр,Столб).шрифт();
    Эксель.Sheets(1).Cells(Стр,Столб).font.size=Таб.Область(Стр,Столб).РазмерШрифта();
    Эксель.Sheets(1).Cells(Стр,Столб).Font.color=Таб.Область(Стр,Столб).ЦветТекста();
    Эксель.Sheets(1).Cells(Стр,Столб).ColumnWidth=Таб.Область(Стр,Столб).ШиринаСтолбца();
    Эксель.Sheets(1).Cells(Стр,Столб).RowHeight=Таб.Область(Стр,Столб).ВысотаСтроки();
    Эксель.Sheets(1).Cells(Стр,Столб).Interior.Color =Таб.Область(Стр,Столб).ЦветФона();
    Эксель.Sheets(1).Cells(Стр,Столб).Borders(1).Linestyle=Таб.Область(Стр,Столб).РамкаСлева();
    Эксель.Sheets(1).Cells(Стр,Столб).Borders(2).Linestyle=Таб.Область(Стр,Столб).РамкаСправа();
    Эксель.Sheets(1).Cells(Стр,Столб).Borders(3).Linestyle=Таб.Область(Стр,Столб).РамкаСверху();
    Эксель.Sheets(1).Cells(Стр,Столб).Borders(4).Linestyle=Таб.Область(Стр,Столб).РамкаСнизу();
    КонецЦикла;
    
    КонецЦикла;
    
    
    
    Я делал сначало так, но столкнулся с проблемами :
    - как вставить картинку?
    -Как объединить ячейки?
    -Как получить Объеденненую область в 1С ?
  12. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    а какую компаненту можно использовать ? 1С++?
  13. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
  14. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    Всем Спасибо! все получилось.
  15. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    Пишу:
    Код:
    Ячейка= Данные.Sheets(1).Cells(3,1);
    Данные.Sheets(1).Hyperlinks.Add(Ячейка,Данные.Sheets(1).Cells(150,1),,);
    
    
    Ругается на вторую строчку , а в описание ошибки стоит ": : ", что бы это значило ?
  16. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    Код:
    Ячейка= Данные.Sheets(1).Cells(3,1);
    Данные.Sheets(1).Hyperlinks.Add(Ячейка,Данные.Worksheets(1).Range("A160"));
    
    
    Все работает , но по ссылке не переходит в нужную ячейку :unsure:
    Подскажите пожалуйста что надо сделать. :smile:
Похожие темы
  1. alp
    Ответов:
    5
    Просмотров:
    670
  2. st88
    Ответов:
    14
    Просмотров:
    739
Загрузка...

Поделиться этой страницей