Имя: Пароль:
1C
 
Excel в поле HTML
0 IUnknown777
 
12.04.07
18:40
Как можно в xls документе который выведен в HTML поле
найти определенное значение?
1 smaharbA
 
12.04.07
18:45
ctrl+F ???
2 IUnknown777
 
12.04.07
18:45
программно)
3 IUnknown777
 
12.04.07
19:08
Люди добрые и умные!
Помогите!
4 IUnknown777
 
12.04.07
19:32
ПОчему

при выполнении процедуры

Процедура ПолеHTMLДокумента1ДокументСформирован(Элемент)
   Док = ЭлементыФормы.ПолеHTMLДокумента1.Документ;
КонецПроцедуры

возникает ошибка

<<Ошибка при получении значения атрибута контекста (Документ): HTML документ не готов

???
5 Звездочёт
 
12.04.07
20:05
(4) попробуй дождаться события, когда документ HTML полностью загрузится.
6 IUnknown777
 
12.04.07
20:28
В книге "Профессиональная разработка в системе 1С:Предприятие 8"
написано
"...рекомендуем использовать обработчик события поля HTML-документа ДокументСформирован. Событие возникает, когда документ загружен полностью..."

Но именно в этом обработчике ругается что он не загружен при попытки получить доступ к свойству документ, хотя сам файл отображается весь.
7 smaharbA
 
12.04.07
20:35
ЭлементыФормы - это сам ХТМЛ ?
8 IUnknown777
 
12.04.07
20:40
Как это?
ПолеHTMLДокумента1.ПолучитьТекст - это сам нтмл
9 smaharbA
 
12.04.07
20:43
(8) Не, это я думаю Текст, а меня интересует сам ХТМЛ где, восьмерку не знаю, но предполагаю как надо поступить
10 IUnknown777
 
12.04.07
20:47
ПРи некотором действии я выполняю
ЭлементыФормы.ПолеHTMLДокумента1.Перейти(ПутьКПапке+"\1.xls");

и файл красиво загружается.
но при попытки

Док = ЭлементыФормы.ПолеHTMLДокумента1.Документ;

пишет ошибку
11 IUnknown777
 
12.04.07
20:48
мне нужно получить ком_объект из загруженного файла а не открывать его отдельно.
12 Звездочёт
 
13.04.07
12:07
(11) какой COM объект ты собираешься получить? Здесь нет COM объекта.
Здесь есть только 1С-овская обертка элемента ActiveX для Internet Explorer.
Когда ты в него загружаешь документ Excel, у этого ActiveX нет никакого HTML.
Есть несколько глобальных свойств и всё.
Доступ к документу Excel через ActiveX для IE ты не получишь (тем более, что здесь еще обёртка от 1С)
13 IUnknown777
 
13.04.07
12:21
Да вот какой
Док = ЭлементыФормы.ПолеHTMLДокумента1.Документ;

Я только одну строчку кода привела.
14 IUnknown777
 
13.04.07
12:24
как хотя бы закрыть xls документ, который я загрузила HTMLПоле?

Я поняла что свойство HTML-поля .Документ получает ComObject содержимого этого поля.
15 IUnknown777
 
13.04.07
12:27
Мне нужно его еще сохранить.
Если я могу с ним интреактивно работать, то почему не могу программно?
16 smaharbA
 
13.04.07
12:38
Код возвращающий ком объект дай
17 Звездочёт
 
13.04.07
13:07
(14) ПолеHTMLДокумента.Документ имеет тип COMОбъект (в контексте программы 1С 8.0). В данном случае, это реализация доступа к существующему ActiveX для IE.
В описании сказано, что свойство Документ "предоставляет доступ к HTML документу". Книга Excel не является таковым.
Шанс получить доступ к объектам документа Excel был бы, если бы ActiveX для IE использовал в своей реализации COM объект для доступа к Excel, что с высокой вероятностью не так.
Я лично сомневаюсь, что ты сможешь работать с книгой Excel используя элемент управления ПолеHTMLДокумента.
18 Asmody
 
13.04.07
13:21
не могу найти обработку :( делал я подобное... основная идея была в том, что в полеHTMLДокумента "заливался" html с <iframe>, а уже с iframe'ом работалось через методы IE/DOM. в том числе и открывание в нем документов word/excel, получения к ним доступа и все такое...
19 smaharbA
 
13.04.07
13:25
(17) Думаю, что зря сомниваешься
20 Звездочёт
 
13.04.07
13:51
(19) сомневаюсь в той схеме, которая описана в (0).
В схеме (18) возможно, т.к. в HTML код внедрен Object, с которым уже можно работать.
21 IUnknown777
 
13.04.07
15:14
Вот я так делаю

ЭлементыФормы.ПолеHTMLДокумента1.Перейти(ПутьКПапке+"\1.xls");
22 IUnknown777
 
13.04.07
15:14
и я могу работать с этим файлом
23 IUnknown777
 
13.04.07
15:15
только интерактивно(
24 IUnknown777
 
13.04.07
15:15
Разве это не ActiveX?
25 Звездочёт
 
13.04.07
15:33
(24) Конечно ActiveX, но настолько, насколько его реализовали программисты.
Я конечно могу ошибаться, но ситуация следующая.
Я как-то возился с объектом InternetExplorer. Когда в него загружен HTML-документ, он предоставляет объектную модель для работы с этим документом и некоторые глобальные свойства самого объекта. Когда в него загружено что-то другое - кроме глобальных свойств ничего получить нельзя.
Excel файлик я не грузил, но как-нибудь попробую. Думаю, что результат будет как у тебя.