Создание ActiveX BarCode в Word из 1С 8.1 по OLE
Ищет в документе Word "тег" - [~ПометкаДоговор~], соответсвенно если есть, тогда вставляем ШК.
Что нужно для работы:
1CBarCod - "V8.Barcod" (нужно проинcталить, чтобы все это прописалось в Word).
текст процедуры:
МС = Новый COMОбъект("Word.Application");
Док = МС.Documents;
файл = Док.Add(КаталогВременныхФайлов()+"tmp.doc");
ActDoc=МС.ActiveDocument;
МС.Visible=0;
//Ищем "тег"
ЕстьПометка = ActDoc.Content.Find.Execute("[~ПометкаДоговор~]");
Если ЕстьПометка = 0 Тогда
Возврат;
Иначе
//Удаляем "тег", теперь он нам не нужен
Поиск = ActDoc.Content.Find;
Поиск.Execute("[~ПометкаДоговор~]",,,,,,,,,"",2);
// вставляем ActivX
Попытка
МС.Selection.InlineShapes.AddOLEObject("V8.Barcod.1", "" , False, False);//,"",0,"","");
Исключение
Сообщить("Не установлена компонента V8.Barcod.1",СтатусСообщения.Важное);
КонецПопытки;
Если ActDoc.InlineShapes.Count > 0 Тогда//на всякий случай проверяем, вставился ли наш ActivX
//заполняем нужный параметры
Obj = ActDoc.InlineShapes.Item(0);
bar = Obj.OleFormat;
bar.Object.ТипКода = 4;//тип ШК, в данном случае COD128
bar.Object.Сообщение = Формат(ВыбНоменклатура.Код,"ЧГ=0")+" "+НомерДоговора;
КонецЕсли;
МС.Visible=1;
Может это кому-то будет интересно.