Как в 1C загрузить из Word текст?
Рассмотрим приёмы получения статистической информации о документе, его составе и т.д.:
'получить общее количество символов в активном документе
' (буквы, цифры, пробелы, переход на новую строку и т.д)
WordApp.ActiveDocument.Characters.Count
'получить символ по его индексу
WordApp.ActiveDocument.Characters(14).Text
'изменить символ по его индексу
WordApp.ActiveDocument.Characters(14).Text="е" 'можно несколько "еёе"
Только не забывайте, что заменив один символ несколькими, вы измените общее количество символов в документе. Поэтому осторожнее при применении циклов. Это также касается и следующего кода.
'получаем количество слов в документе
'(переход на новую строку считается словом)
DocWord.Words.Count
'получить слово по его индексу
DocWord.Words(2).Text
'изменить слово по его индексу
DocWord.Words(2).Text="текст" 'можно несколько слов "Новый текст"
'получить количество параграфов (абзацев) в документе
WordApp.ActiveDocument.Paragraphs.Count
'получить текст параграфа по его индексу
WordApp.ActiveDocument.Paragraphs(2).Range.Text
'изменить текст параграфа по его индексу
WordApp.ActiveDocument.Paragraphs(2).Range.Text="Много текста. Много " & _
" предложений. И так далее!"
'получить количество предложений в документе
WordApp.ActiveDocument.Sentences.Count
'получить текст предложения по его индексу
WordApp.ActiveDocument.Sentences(1).Text
'получить количество предложений во втором параграфе
WordApp.ActiveDocument.Paragraphs(2).Range.Sentences.Count
'получить текст предложения 1 в параграфе 2
WordApp.ActiveDocument.Paragraphs(2).Range.Sentences(1).Text
'получить текст слова 2, в предложении 1,в параграфе 2
WordApp.ActiveDocument.Paragraphs(2).Range.Sentences(1).Words(2).Text
'добавить новую секцию (раздел)
'создаёт новый раздел на новом листе
DocWord.Sections.Add
'создаёт новый раздел на текущем листе
DocWord.Application.S_election.I_nsertBreak (wdSectionBreakContinuous) '(3)
'получить количество секций в документе
DocWord.Sections.Count
'получить текст слова 2, в предложении 1,в параграфе 2, в секции 1.
DocWord.Sections(1).Range.Paragraphs(1).Range.Sentences(1).Words(2).Text
Используя Встроенные_Свойства_Документа получаем его статистические данные.
'получаем количество страниц (листов) в документе
WordApp.ActiveDocument.BuiltInDocumentProperties(wdPropertyPages) '(14)
'получаем количество строк в документе
WordApp.ActiveDocument.BuiltInDocumentProperties(wdPropertyLines) '(23)
'получаем количество слов в документе
WordApp.ActiveDocument.BuiltInDocumentProperties(wdPropertyWords) '(15)
'получаем количество параграфов (абзацев) в документе
WordApp.ActiveDocument.BuiltInDocumentProperties(wdPropertyParas) '(24)
'и т.д.
Рассмотрим примеры кода для передвижения по документу, а также поиска и замены текста.
Метод .GoTo (перейти к) позволяет вам переместиться на нужную позицию в документе. Он при прямом вызове возвращает новую позицию курсора.
'переход на лист с именем "1"
'если не указать в конце .S_elect, то код просто выдаст положение курсора
DocWord.Application.S_election.GoTo(wdGoToPage, , , "1").S_elect
wdGoToSection (0) — перейти к секции ; wdGoToPage (1) — перейти к листу ;
wdGoToTable (2) — перейти к таблице ; wdGoToLine (3) — перейти к строке ;
wdGoToFootnote (4) — перейти к сноске ; wdGoToEndnote (5) — к примечанию ;
wdGoToComment (6) — к комментарию ; wdGoToField (7) — к полю ;
wdGoToHeading (11) — к заголовку ;
wdGoToSpellingError (13) — к орфографической ошибке ;
wdGoToGrammaticalError (14) — к грамматической ошибке.
Как загрузить вордовский документ в 1с
Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.
- Как создать документ Word на основе шаблона
- Скачать и выполнить эти примеры на компьютере
Работа с Word в языке 1С 8.3, 8.2 (в примерах)
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Как загрузить вордовский документ в 1с
8(495)005-62-29
skype: live:di-sem
@programmist_1C
Отправить заявку
Импорт в 1С данных из любых документов (сделать свою обработку импорта из внешних источников))

Часто нужно импортировать данные в 1С из внешних источников (Excell,Word,Pdf,Txt, Csv, Html и т.д.).
Чтобы не подключаться к каждому документу через Com объект, нужно создать свою обработку импорт из внешних источников в 1С.
В типовых конфигурациях есть такая обработка.
В данном примере мы будем создавать свою.
Алгоритм
1 В табличный документ подгружаем нужный макет
2 Пользователь копирует в табличный документ нужные данные
3 Программа 1с анализирует данные и готовит их к загрузке в нужные объекты 1с (документы/справочники)
4 Загрузка данных
Реализация
1 Создаем форму

Создаем реквизит формы ТабДок — табличный документ.
В него пользователь будет копировать нужные данные, а наша задача будет программно взять их оттуда и загрузить в 1С.
Перетащим реквизит ТабДок на форму и установим свойства как на рисунке.
Но сейчас ТабДок представляет собой обычный неразмеченный документ.
Куда будет пользователь грузить нужные колонки.
Для этого мы создадим макет:

При открытии формы мы подгрузим этот макет в наш табличный документ «ТабДок» и пользователь будет знать куда ему грузить данные.
На рисунке я выделил где можно посмотреть адрес ячейки, адрес нам понадобится при импорте данных.
Создадим на форме реквизит «Данные» — таблица значений.
Сюда мы предварительно будем грузить введенные пользователем данные.
Это нужно для того чтобы пользователь мог скорректировать введенные данные, а мы могли бы ему точно указать на ошибку в загружаемых данных.
Реквизит «Данные» перенесем на другую страницу. В моем случае это «Создание участников».
.jpg)
Создадим процедуру, которой мы загрузим данные в 1с в таблицу значений «Данные», которую создали ранее и вывели на вторую страницу.
Работает это так:
1 открываем обработку ввода данных:

2 копируем нужные данные из Эксель для импорта в 1С:

3 Вставляем в 1С в нашу обработку:

4 Смотрим чтобы данные соответствовали столбцам:

5 Жмем далее (этой кнопкой вызывается процедура, указанная выше) и получаем результат:

Мы получили данные в 1С. Теперь при нажатии «Создать участников» будут созданы элементы справочника «Участники».
С этими данными мы можем делать что угодно — они уже загружены в 1С.
Спасибо за внимание.
- Главная

- Блог

- В помощь 1с программисту

- Импорт в 1С данных из любых документов (сделать свою обработку импорта из внешних источников))
Как в 1С сформировать документ Word?
В данной статье рассмотрим достаточно простой и удобный способ формирования документов Word из 1С. Сама по себе 1С формировать документы Word “не умеет”, и для работы с такими документами используется собственно MS Word. Поэтому вначале нужно определенным образом подготовить документ, а после загрузить его в макет двоичных данных в 1С.
Для корректной работы данного способа необходимо, чтобы на компьютере, где происходит формирование документа, был установлен MS Office. Также, документ формируется на клиенте, с тем чтобы вывести его на экран пользователю. Но возможно формирование и на сервере, если на сервере установлен Word – например, для прикрепления файлов к справочникам.
Подготовка шаблона Word
В документе Word можно вставлять поля специального типа DocVariables. Это можно сделать либо вставив соответствующий фрагмент текста, либо через графический интерфейс. На примере Word 2016, это делается через меню Вставка / Экспресс блоки/ Поле. В списке доступных полей нас интересует DocVariable. Указываем нужное имя и жмем ОК.

Для скрытия / отображения кодов полей в документе, жмем Alt + F9. Для экономии времени, можно просто копировать нужные поля и вставлять в нужные места документа. Чтобы создать новую переменную документа, достаточно просто в кавычках заменить имя.

Формирование документа Word из 1С
После того, как шаблон готов, его нужно загрузить в виде макета с типом “Двоичные данные”. Это можно сделать в обработке, в общем макете, в справочнике и т.д. Рассмотрим на примере хранения макета в обработке.
