8.х и опять работа с Word

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

  1. TopicStarter Overlay
    Smikka
    Offline

    Smikka

    Регистрация:
    8 дек 2008
    Сообщения:
    47
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте.
    Для простейшей работы с Word - замены переменных на нужные параметры - везде есть код
    Код:
    Договор = ПолучитьМакет("Договор"); 
    
    // Получить объект из макета. 
    MSWord = Договор.Получить(); 
    НаименованиеКонтрагента = "ООО Торгуем всем"; 
    
    Попытка 
    Документ = MSWord.Application.Documents(1); 
    Документ.Activate(); 
    
    // Получить объект, который будем использовать для поиска и замены. 
    Замена = Документ.Content.Find; 
    
    // Заменить заранее определенные ключевые конструкции на требуемый текст. 
    Замена.Execute("<НазваниеКомпании>", Ложь, Истина, Ложь, , , 
    Истина, , Ложь, НаименованиеКонтрагента); 
    
    // Далее аналогично для остальных ключевых конструкций. 
    
    // Делаем видимым приложение и активизируем его. 
    MSWord.Application.Visible = Истина; 
    MSWord.Activate(); 
    
    Исключение 
    
    // Если произойдет ошибка выводятся данные об ошибке и объект закрывается. 
    Сообщить(ОписаниеОшибки()); 
    MSWord.Application.Quit(); 
    
    КонецПопытки; 
    
    
    но проблема следующая:
    Шаблон есть, есть в нем текст. есть параметр для замены. Но в итоге
    открывается пустой документ Word. Почему?
  2. Наташа
    Offline

    Наташа Опытный в 1С

    Регистрация:
    14 авг 2010
    Сообщения:
    1.442
    Симпатии:
    2
    Баллы:
    29
    Я почему-то сначала сохраняла полученный файл, а потом его открывала..

    Код:
    	Документ.SaveAs(ПолноеИмяФайла, 0, False, "", True, "", False, False, False, False, False);
    Документ.Close();
    
    Попытка
    MSWord.Application.Quit();
    Исключение
    КонецПопытки;
    
    // Открываем в ворде сохраненный только что файл
    // По-хорошему нужно в процедуру ЗапуститьПриложение() передавать в третий параметр ДождатьсяЗавершения
    // значение “Истина”, чтобы выполнение обработки продолжалось только после закрытия ворда. Однако передача
    // в этот параметр значения Истина приводит к зависанию системы (проверено на MS Word 2007).
    ЗапуститьПриложение(ПолноеИмяФайла);
    
  3. TopicStarter Overlay
    Smikka
    Offline

    Smikka

    Регистрация:
    8 дек 2008
    Сообщения:
    47
    Симпатии:
    0
    Баллы:
    1
    но он бы хоть не сохраненный шаблон открывал. Ведь до замены в нем были данные.
  4. Наташа
    Offline

    Наташа Опытный в 1С

    Регистрация:
    14 авг 2010
    Сообщения:
    1.442
    Симпатии:
    2
    Баллы:
    29
    А у меня ваш код работает..
    Может, у Вас какой-то Ворд неправильный? :unsure:

    Вложения:

    • Word.epf
      Размер файла:
      10,4 КБ
      Просмотров:
      135
  5. TopicStarter Overlay
    Smikka
    Offline

    Smikka

    Регистрация:
    8 дек 2008
    Сообщения:
    47
    Симпатии:
    0
    Баллы:
    1
    Видимо что-то у меня.... Ваша обработка тоже открывает пустой документик... :unsure:

    А что может быть с вордом? Может какая-то компонента недоустановлена. У меня 2003 ворд.

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