0
Zhuravlik
11.07.13
✎
14:52
|
Добрый день. Просто устал уже в доке копаться, которой куча и в основном по-нерусски....
Хочу вытянуть из .doc схему документа, т.е. ссылки в оглавлении, в тз.
Начинал так:
Word= СоздатьОбъект("Word.Application");
//Видимость его
Word.Visible=1;
//добавляем новый док
Word.Documents.Add("D:\МойДок.doc");
//активный док
Док=Word.ActiveDocument();
Дальше у меня сгенериралсь als-ка и интелы, все кучеряво так, с подсказками, но у этого объекта столько всего, что я потерялся просто.
Может кто развернет в сторону верного решения?
Я думаю нужно просто обойти циклом некую коллекцию, и повытягивать оттуда что мне надо, а где она лежит?
|
|
1
UnoMomento
11.07.13
✎
16:20
|
Может это поможет ....
Функция WORD_УстановитьСвязь (ПолноеИмяФайла)Экспорт
Результат = 0;
Состояние("Идет установка связи, ждите.....");
Попытка
Результат = СоздатьОбъект("СписокЗначений");
Результат.УдалитьВсе();
BaseOLE = СоздатьОбъект("Word.Application");
BaseOLE.ScreenUpdating = 0;
BaseOLE.Visible = 0;
Результат.Установить("WORD", BaseOLE);
WORDФайл = BaseOLE.Documents.Add(ПолноеИмяФайла);
Результат.Установить("WORDФайл", WORDФайл);
МассивПеременныхДокумента = СоздатьОбъект("СписокЗначений");
МассивПеременныхДокумента.УдалитьВсе();
КоличествоПеременных = WORDФайл.Fields.Count;
Для е = 1 по КоличествоПеременных Цикл //Result Code
ИмяПеременной = "";
ЗнПоля = СокрЛП(WORDФайл.Fields(е).Code.text);
Если ВРег(Лев(ЗнПоля,11)) = "DOCVARIABLE" Тогда
ЗнПоля = СокрЛП(Сред(ЗнПоля, 12));
ИмяПеременной = СокрЛП(Лев(ЗнПоля, ?(Найти(ЗнПоля, " ") <> 0,Найти(ЗнПоля, " "),СтрДлина(ЗнПоля))));
КонецЕсли;
Если ИмяПеременной <> "" Тогда
МассивПеременныхДокумента.ДобавитьЗначение(ИмяПеременной);
КонецЕсли;
КонецЦикла;
Результат.Установить("Переменные", МассивПеременныхДокумента);
Исключение
Результат = 0;
Сообщить("Ошибка создания обьекта Microsoft Word" + ОписаниеОшибки());
КонецПопытки;
Возврат Результат;
КонецФункции
|
|