Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Служба Рассылок Городского Кота


Служба Рассылок Городского Кота

Не могли ли Вы в своих рассылках осветить технологию передачи данных из 1С
в другие приложения? Конкретно интересует формирование файла Word 97 из 1С
7.5 (Отчет с таблицами, рисунками).

Давайте начнем с самого начала. А что такое OLE?

Цитирую книгу Брайана Сайлера и Джеффа Споттса "Использование Visual Basic
6" под редакцией Петриковца Г.П., изд. "Вильямс" 1999:

OLE - это аббревиатура от Object Linking and Embedding, что переводится как
связывание и внедрение объектов и означает способ интеграции программных
продуктов семейства Microsoft Office.
Приложения, поддерживающие технологию OLE, позволяют пользователю вызывать
одно приложение из другого, не выходя из контекста интерфейса исходной
программы. <...>
Используя OLE-объекты вы практически "дистанционно управляете" приложениями
Word и Excel. Это подразумевает, что приложение установлено на
пользовательском компьютере, и означает, что оно будет функционировать так,
как если бы пользователь сам вводил команды и информацию. Другими словами
приложение загружается в память и, в зависимости от того, как написана ваша
программа, пользователь может или наблюдать за происходящим, либо
взаимодействовать с загруженным приложением. Однако автоматизация OLE на
деле оказывается довольно медленной технологией, хотя и очень полезной в
некоторых случаях.

Конец цитаты.

Теперь несколько слов от себя. Умение работать с OLE - это прежде всего
знание языка команд приложения с которым вы собираетесь работать (для
приложений Microsoft Office таким языком является Visual Basic). Так как
изучение Visual Basic не входит в задачи данной рассылки, то ограничусь
общими советами. Хороший пример работы с OLE вы можете  посмотреть в
типовых конфигурациях ("Комплексная..." или "Торговля..."), в
справочнике
"Прайс_лист", форма списка "ФормаСписка", процедура ПрайсInExcel().

1. При установке Microsoft Office обязательно отметьте пункт установки
справки по Visual Basic, по умолчанию он не выбран.
2. Если писать очень надо, а вы не знаете с чего начать, начните в Word с
записи ваших действий  в макрос, когда вы откроете его для отладки, то
увидите ваши действия записанные на Visual Basic.
3. При переносе макроса в 1С, во-первых, оформляйте все процедуры, как
функции (пример TypeParagraph), а, во-вторых, преобразуйте полученные
выражения в вид понятный для 1С.

Маленький пример.

Процедура ПримерРаботыСWord()
    Попытка
        Word = СоздатьОбъект("Word.Application");
    Исключение
 Предупреждение("Чего-то не получается");
 возврат;
    КонецПопытки;
    Word.Documents.Add();
    Area = Word.Selection;
    Area.TypeText("Это образец вставки рисунка.");
    Area.TypeParagraph();
    Area.InlineShapes.AddPicture("C:\Мои документы\Рисунки\1.jpg");
    Area.TypeParagraph();
    Area.TypeText("Теперь вставим таблицу и заполним ее:");
    Word.ActiveDocument.Tables.Add(Area.Range, 2, 2);
    Word.Selection.TypeText("Заголовок 1");
    Word.Selection.MoveRight(1);
    Word.Selection.TypeText("Заголовок 2");
    Word.Selection.MoveRight(1);
    Word.Selection.TypeText("Значений 1");
    Word.Selection.MoveRight(1);
    Word.Selection.TypeText("Значение 2");
    Word.Visible = 1;
    предупреждение("Создание документа завершено");
КонецПроцедуры
Успехов, Таранов Сергей. Пишите mailto:cons@nm.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru

В избранное