Имя: Пароль:
1C
1С v8
1С+WORD
0 espanol
 
02.07.12
13:24
WordDOC = ПолучитьМакет("WordDOC");
   ОбъектWord = WordDOC.Получить();
   
   Попытка
       ДокументWord = ОбъектWord.Application.Documents(1);
       ДокументWord.Activate();
       ДокументWord.Content.Find.Execute("**CHO**",Ложь,Истина,Ложь,,,Истина,,Ложь,Константы.ОсновнаяЕдиницаИзмеренияКоличества.Получить());
       ДокументWord.SaveAs(Каталог);
       ДокументWord.Close(0);
       ЗапуститьПриложение(Каталог);
   Исключение
       Сообщить(ОписаниеОшибки(),СтатусСообщения.ОченьВажное);
       ОбъектWord.Application.Quit();
   КонецПопытки;


{Документ.ЗаказНаАвтомобиль.МодульОбъекта(1308)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (0x80020005)


Подскажите почему ошибка?
1 AversDik2
 
02.07.12
13:27
Заменять надо на строку
2 dk
 
02.07.12
13:27
СокрЛП(Константы.ОсновнаяЕдиницаИзмеренияКоличества.Получить())
3 espanol
 
02.07.12
13:29
(1)(2) Спасибо!
4 espanol
 
02.07.12
13:30
А может подскажите еще...
5 espanol
 
02.07.12
13:31
Как сделать так чтобы работать с WORD не из макета обхекта документа, а брать файл-шаблон который лежит на серваке?
6 AversDik2
 
02.07.12
13:32
ПолучитьCOMОбъект()
7 dk
 
02.07.12
13:34
ОбъектWord = Новый COMОбъект("Word.Application");
МойДок = ОбъектWord.Documents.Add("ИмяТвоегоШаблона");

как-то так
8 ddd2005
 
02.07.12
13:35
я пытался делать так
Процедура ПечатьКачественногоУдостоверенияНажатие(Элемент)
       // Вставить содержимое обработчика.
       //WD = СоздатьОбъект("Word.Application");
       Попытка
           WD =  Новый COMОбъект("Word.Application");
       Исключение
           Сообщить(ОписаниеОшибки(),"!!!");
           Сообщить("Возможно, MS Word не установлен на этом компьютере.");
           Возврат;
       КонецПопытки;
       НовыйДокумент = WD.Documents;
       ТД = НовыйДокумент.Add ("F:\1C_BASEN\shablon\УдостоверениеКачество.dot");
       WD.Visible = 1;
       СведенияОПроизОбъединение     = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(ПроизОбъединение, Дата);
       ПолноеИмяПроизОбъединение = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПроизОбъединение, "НаименованиеДляПечатныхФорм");
       ТД.Variables("ППроизОбъединение").Value = СокрЛП(ПолноеИмяПроизОбъединение);
       

       СведенияОПроизОбъединение     = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Лаборатория, Дата);
       ПолноеИмяЛаборатория = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПроизОбъединение, "НаименованиеДляПечатныхФорм");

   ТД.Fields.Update();
9 big
 
02.07.12
13:42
(8) лучше сначала заполнить, а уже потом Visible = True
10 espanol
 
02.07.12
13:53
ОбъектWord     = Новый COMОбъект("Word.Application");
   МойДок         = ОбъектWord.Documents.Add(Каталог);
   ЗаменаКонтента = МойДок.content.Find;
   
   ЗаменаКонтента.Execute("**CHO**",Ложь,Истина,Ложь,,,Истина,,Ложь,СокрЛП(Константы.ОсновнаяЕдиницаИзмеренияКоличества.Получить()));
   ОбъектWord.Visible = Истина;


Так сделал
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший