Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
26 сен 2021, 10:04

Выгрузка гиперссылки (путь к файлу) из файла Exel в 1С.

Автор Сарычев Владислав, 21 мая 2019, 13:04

0 Пользователей и 1 гость просматривают эту тему.

Сарычев Владислав

Выгружаю из Эксель-файла в 1С данные. В файле есть гиперссылка (путь к файлу). Нашел через отладчик , в каком реквизите (Эксель.ActiveSheet.Cells(Строка,Колонка).Hyperlinks[0].Addres) находится путь, но программно не могу его вытащить. Как программно обратиться к Эксель.ActiveSheet.Cells(Строка,Колонка).Hyperlinks[0].Addres?

Геннадий ОбьГЭС

Цитата: Сарычев Владислав от 21 мая 2019, 13:04Как программно обратиться к Эксель.ActiveSheet.Cells(Строка,Колонка).Hyperlinks[0].Addres?
Из какой программы?

Сарычев Владислав

Работаю в 1С:Предприятие 8.3 (8.3.11.3034)
&НаКлиенте
Процедура Прочитать(Команда)
   
   Если ИмяФайла = "" Тогда
      Сообщить("Файл не выбран" + ОписаниеОшибки());
      Возврат;
   КонецЕсли;
   
   Попытка
      Эксель = Новый COMОбъект("Excel.Application");
   Исключение
      Сообщить(ОписаниеОшибки());
      Возврат;
   КонецПопытки;   
   Книга = Эксель.WorkBooks.Open(ИмяФайла);   
   Лист = Книга.WorkSheets(1);       
   КоличествоЛистов = Книга.Sheets.Count;
   ВсегоКолонок = Лист.Cells(1,1).SpecialCells(11).Column;
   ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row;
   Для Строка = 1 По ВсегоСтрок Цикл   
      Для Колонка = 1 По ВсегоКолонок Цикл
         Гиперссылка = СокрЛП(Эксель.ActiveSheet.Cells(Строка,Колонка).Hyperlinks);   
         ОбработкаПрерыванияПользователя();         
      КонецЦикла;       
   КонецЦикла;
   Эксель.Application.Quit();
КонецПроцедуры

wise

(0) что ЗНАЧИТ: "программно его вытащить".??

Вы же пишете: Гиперссылка = СокрЛП(Эксель.ActiveSheet.Cells(Строка,Колонка).Hyperlinks); 

а НЕ: Гиперссылка = СокрЛП(Эксель.ActiveSheet.Cells(Строка,Колонка).Hyperlinks[0].Addres);
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Сарычев Владислав

при попытке написать
Гиперссылка = СокрЛП(Эксель.ActiveSheet.Cells(Строка,Колонка).Hyperlinks[0].Addres);
выдает ошибку

Суть моей просьбы: Мне нужна гиперссылка (путь к файлу), то бишь его значение.

wise

Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Сарычев Владислав

:)
Выдает ошибку "Получение элемента по индексу для значения не определено"

Z.spb

Попробуйте вместо Hyperlinks[0] написать
Hyperlinks.Item(0)

Сарычев Владислав

{ВнешняяОбработка.РаботаcEXEl.Форма.Форма.Форма(23)}: Ошибка при вызове метода контекста (Hyperlinks)
         Значение1 = СокрЛП(Эксель.ActiveSheet.Cells(Строка,Колонка).Hyperlinks(0));   
по причине:
Произошла исключительная ситуация (0x8002000b)

Z.spb


Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск