Переменные в документе word
Модератор: Naeel Maqsudov
Как правильно вставить переменную в документ word? чтоб потом к ней можно было обращаться из программ VBA и макросов Excel в том числе.
как организовать такое обращение?
как организовать такое обращение?
по CTRL+F9 не удается,
и вставить поле, тоже не работает даже на примерах из хелпа
и вставить поле, тоже не работает даже на примерах из хелпа
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
я из дельфей с закладками работал (Bookmarks) может сюда копнуть?

скорее всего что это одно и то же, те же яйца вид сбоку.
как с ними работать?
т.е.
wDoc = GetObject("mywrod.doc")
1. дальше хочу получить список всех переменных (закладок, docavriable или чего то еще)
2. присвоить им свои значения
3. отобразить все это добро
п.с. с дельфями работал года 3 назад, а под офис вообще ничего не писал. вот осваиваю смежные специальности
как с ними работать?
т.е.
wDoc = GetObject("mywrod.doc")
1. дальше хочу получить список всех переменных (закладок, docavriable или чего то еще)
2. присвоить им свои значения
3. отобразить все это добро
п.с. с дельфями работал года 3 назад, а под офис вообще ничего не писал. вот осваиваю смежные специальности
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
насчёт списка не уверен, но есть что-то вроде коллекции Variables("имя")

речь про DOCVARIABLES("имя") ???
если да, то
1. как их поместить в документ в нужное место?
2. как этим переменным задать значение при обращении из excel'я?
если да, то
1. как их поместить в документ в нужное место?
2. как этим переменным задать значение при обращении из excel'я?
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
упс.. просмотрел реализацию (чужая) это они там так закладки назвали....
можно просто добавить закладку через Вставка/Закладка обращение к ней
ActiveDocument.Bookmarks("имязакладки").Range.Text = "qweqweqwe"
можно просто добавить закладку через Вставка/Закладка обращение к ней
ActiveDocument.Bookmarks("имязакладки").Range.Text = "qweqweqwe"

- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Не смешивайте!
Закладки, Поля и Переменные документа - это три совершенно разные вещи!
Опишите подробнее, что нужно.
Текст должен быть виден в документе? Изменять его сожержимое из макроса надо?
Закладки, Поля и Переменные документа - это три совершенно разные вещи!
Опишите подробнее, что нужно.
Текст должен быть виден в документе? Изменять его сожержимое из макроса надо?
есть шаблон документа, в который хочется подставлять данные из Excel строго в определенные участки документа.
Например: ФИО первой строкой, общая сумма последней, и т.д.
Например: ФИО первой строкой, общая сумма последней, и т.д.
Я делал так (пользовался формами).
1. MSWord -> RClick на панелях инструментов Ворда -> "Формы" (чтобы отобразить панель инструментов "Формы")
2. На панели инструментов "Формы" - LClick "Текстовое поле" -> В документе появится текстовое поле (серенькое, если затенение полей формы включено)
3. RClick на появившемся поле в документе -> Свойства
4. В окне "Параменты текстового поля" -> "Параменты поля/Закладка:" вводим, например, "MyTextField1" -> ОК
5. В текстовом поле документа (сереньком) вводим какой-нибудь текст, например, "QWERTY"
6. В ВБА (Alt+F11) -> пишем:
7. F5 на макросе и видим на экране "QWERTY" ! Или "ЙЦУКЕН", как у меня, что в общем-то тоже радует глаз!
Я, кстати, ещё и защиту документа включал, чтобы "никто
" не мог исправить ничего, кроме данных форм...
Пойдёт? Извиняюсь, что так подробно, вдруг всё-таки кто-ньть читать будет
1. MSWord -> RClick на панелях инструментов Ворда -> "Формы" (чтобы отобразить панель инструментов "Формы")
2. На панели инструментов "Формы" - LClick "Текстовое поле" -> В документе появится текстовое поле (серенькое, если затенение полей формы включено)
3. RClick на появившемся поле в документе -> Свойства
4. В окне "Параменты текстового поля" -> "Параменты поля/Закладка:" вводим, например, "MyTextField1" -> ОК
5. В текстовом поле документа (сереньком) вводим какой-нибудь текст, например, "QWERTY"
6. В ВБА (Alt+F11) -> пишем:
Код: Выделить всё
Sub tt()
MsgBox ThisDocument.FormFields.Item("MyTextField1").Range.Text
End Sub
Я, кстати, ещё и защиту документа включал, чтобы "никто
Пойдёт? Извиняюсь, что так подробно, вдруг всё-таки кто-ньть читать будет
