Word & 1C #134004


#0 by TIREX
Народ, обращаюсь из 1с к ворду, в ворде есть TextBox, как его заполнить значением из 1с?инет рыл, кругом только по ексел или 1с с 1с, а как подставлять значения именно в ворде
#1 by Uho
Универсальный механизм - написать макрос и перенести его в 1С
#2 by Денис2
А что такое этот ТекстБокс?
#3 by TIREX
up
#4 by dronis
а ты используй FormFields в Ворде ..FormFields.Result="вапвап";в самом Ворде "поле формы" называется ..
#5 by TIREX
4) сенкс, счас попробую
#6 by Макс 1С
Итак, про вывод данных в MS Word. Понятно, что технологию OLE можно использовать не только для обмена данными между двумя экземплярами 1С и работы с MS Excel. Word в этом смысле ничем не хуже. Особенно, когда почему-либо необходимо создавать в нем типовые документы (Приказ, Договор, Счет etc).Для начала можно скачать пример работы такой связки. А я, между тем, расскажу в двух словах, как это работает.Прежде всего, надо создать шаблон документа (.DOT), в котором определить именованные поля.Именованные поля вставляются так: Засветите панель инструментов Формы. На ней есть кнопочка "текстовое поле" - при нажатии на нее рядом с курсором будет вставлено именованное поле. Если на той же панели нажать кнопку "Параметры поля формы", откроется окно свойств поля, в котором можно задать его имя, тип, формат, макисмальную длину и значение по умолчанию.Дальше уже в 1С делаем так:1. Создаем объект Word.Basic и с его помощью создаем файл на основе нашего шаблона:Word.FileNew(Переменная_с_путем_к_шаблону);2. Заполняем определенные нами поля нужными значениями:Word.SetFormResult("MyFieldName", Нужное_значение);3. Делаем Word видимым:Word.AppShow;Вот, собственно, и все. Просто, быстро и надежно.Я же, со своей стороны, хотел бы напомнить, что в Word можно выводить и произвольный текст, произвольно его при этом форматируя. Попробуем вывести в Word небольшой текст, при этом первый абзац будет жирным и выравненным по центру, а второй - выравнен по левому краю, а цифры выделены красным. При этом "Директор", "Сумма" и "Валюта" - это поля на форме обработки:Есть несколько тонкостей, на которые следует обратить внимание:• вызывается объект "Word.Application";• нельзя передавать константы Word в качестве параметров функций - только их численные значения. А чтобы быстро узнать их значения, достаточно создать макрос в Word, а в нем воспользоваться процедурой MsgBox. Например, если передать ей wdRed в качестве параметра, то получим 6 - значение константы;• вместо True и False надо использовать 1 и 0;• "Documents" указывает на первый из открытых документов. Надежнее использовать "ActiveDocument" (ведь если Word уже был запущен, то ваш документ может оказаться не первым) - пример просто показывает, что работают оба варианта;• обратите внимание, что объектом "Range" может быть как весь объект другого вида (слово, абзац, документ), так и конкретная область (ср. "MyRange" и "Цифирь").Основным источником информации на эту тему является файл справки по VBA для MS Word (VBAWRD8.HLP - для Word97). (C)
#7 by TIREX
6) ух ты! спасибо друг!
#8 by Uho
+6 можно работать с закладками - не знаю кому как удобно    Документ.Bookmarks("FullName").Select;  PS. Закладки вставляются в шаблон (Вставка-Закладка)
#9 by Wasya
Список всех методов и атрибутов можно получить: Запустить Word нажать alt/F11 затем F2.
#10 by TIREX
6) вот что у меня получилось:Word.AppShow;до сих пор всё ок, как потом документ распечатать и закрыть ворд?
#11 by Gloom
PrintOut и Quit это методы из VBA for Word. Для Word.Basic нужно FilePrint и FileClose юзать
#12 by TIREX
6,11,all) спасибо, заработало!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С