Нужна подсказка по Word.(+)
-
Wolf
Задача следующая:
существует вордовский документ, я заполняю в нем какие-то предопределенные поля, скажем количество чего-то. Нужно чтобы значение это поля вставилось в те места в этом документе которые будут выделены мной.
P.S.
Для пресечения оффтопика скажу сразу. Варианты по написанию программулины работающей через OLE, связи с Excel или другие подобные извращения не рассматриваются. Работа происходит в Word в открытом файле, файл представляет из себя заготовочку официального бланка, но оч. много полей в нем повторяется.
существует вордовский документ, я заполняю в нем какие-то предопределенные поля, скажем количество чего-то. Нужно чтобы значение это поля вставилось в те места в этом документе которые будут выделены мной.
P.S.
Для пресечения оффтопика скажу сразу. Варианты по написанию программулины работающей через OLE, связи с Excel или другие подобные извращения не рассматриваются. Работа происходит в Word в открытом файле, файл представляет из себя заготовочку официального бланка, но оч. много полей в нем повторяется.
-
Wolf
Зачем так наворачивать. Там можно сделать проще. Через закладки, но так как я ни разу этого не делал сейчас пытаюсь разгрести, правда безуспешно, из хэлпов примеры не отрабатывают
. Может кто уже возился с закладками и вводом теста в них.
Вульф! Ты разобрался али как?
А не то мне тоже приспичило.
А не то мне тоже приспичило.
-
Wolf
Пишу на VBA, через закладки но есть еще множество нюансиков. Если интересует насчет закладок могу объяснить там все оч. просто токо оч. много приходится дописывать ручками.
-
Wolf
В самом документе где надо ставишь закладку (Вставка-Закладка) и называешь ее скажем Закладка_1.
Опосля чего грузишь редактор VBA, на формочку ставишь TextBox,называешь его скажем TextBox_1, и Button.
И понеслась. Код на событие по клику Button-а
If ActiveDocument.Bookmarks.Exists("Закладка_1") = True Then
ActiveDocument.Bookmarks.Item("Закладка_1").Select
With Selection
.MoveRight Unit:=wdCharacter, Count:=1 rem Сдвигаем курсор на один символ вправо. На всякий случай
.Delete Unit:=wdCharacter, Count:=TextBox_1.TextLength rem удаляем кол-во символов в документе равных кол-ву символов для ввода. Можно попробовать вместо этого включить режим замены, но у меня не получилось
rem Настраиваем фонты как нам надо
.Font.Bold = False
.Font.Italic = True
.Font.Underline = True
rem Ну и вписываем текст в закладку.
.TypeText Text:=TextBox_1.Text
End With
End If
ВСЕ.
если надо вставить в нескольких местах просто все это дело расшаривается для соответств. кол-ва закладок.
В чем я пока еще не копался и не разобрался.
1) Форма должна стартовать при открытии документа
2) Форма модальная поэтому скорее всего печать и пред просмотр надо будет организовывать из нее же.
Опосля чего грузишь редактор VBA, на формочку ставишь TextBox,называешь его скажем TextBox_1, и Button.
И понеслась. Код на событие по клику Button-а
If ActiveDocument.Bookmarks.Exists("Закладка_1") = True Then
ActiveDocument.Bookmarks.Item("Закладка_1").Select
With Selection
.MoveRight Unit:=wdCharacter, Count:=1 rem Сдвигаем курсор на один символ вправо. На всякий случай
.Delete Unit:=wdCharacter, Count:=TextBox_1.TextLength rem удаляем кол-во символов в документе равных кол-ву символов для ввода. Можно попробовать вместо этого включить режим замены, но у меня не получилось
rem Настраиваем фонты как нам надо
.Font.Bold = False
.Font.Italic = True
.Font.Underline = True
rem Ну и вписываем текст в закладку.
.TypeText Text:=TextBox_1.Text
End With
End If
ВСЕ.
если надо вставить в нескольких местах просто все это дело расшаривается для соответств. кол-ва закладок.
В чем я пока еще не копался и не разобрался.
1) Форма должна стартовать при открытии документа
2) Форма модальная поэтому скорее всего печать и пред просмотр надо будет организовывать из нее же.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей