Страница 1 из 2

Переменные в документе word

Добавлено: 17 июл 2006, 09:17
Taller
Как правильно вставить переменную в документ word? чтоб потом к ней можно было обращаться из программ VBA и макросов Excel в том числе.

как организовать такое обращение?

Добавлено: 18 июл 2006, 01:50
Taller
по CTRL+F9 не удается,
и вставить поле, тоже не работает даже на примерах из хелпа

Добавлено: 18 июл 2006, 10:57
Игорь Акопян
я из дельфей с закладками работал (Bookmarks) может сюда копнуть?

Добавлено: 18 июл 2006, 13:37
Taller
скорее всего что это одно и то же, те же яйца вид сбоку.

как с ними работать?
т.е.
wDoc = GetObject("mywrod.doc")

1. дальше хочу получить список всех переменных (закладок, docavriable или чего то еще)
2. присвоить им свои значения
3. отобразить все это добро

п.с. с дельфями работал года 3 назад, а под офис вообще ничего не писал. вот осваиваю смежные специальности

Добавлено: 18 июл 2006, 16:34
Игорь Акопян
насчёт списка не уверен, но есть что-то вроде коллекции Variables("имя")

Добавлено: 18 июл 2006, 16:49
Taller
речь про DOCVARIABLES("имя") ???

если да, то

1. как их поместить в документ в нужное место?
2. как этим переменным задать значение при обращении из excel'я?

Добавлено: 19 июл 2006, 10:45
Игорь Акопян
упс.. просмотрел реализацию (чужая) это они там так закладки назвали....
можно просто добавить закладку через Вставка/Закладка обращение к ней
ActiveDocument.Bookmarks("имязакладки").Range.Text = "qweqweqwe"

Добавлено: 24 июл 2006, 04:07
Naeel Maqsudov
Не смешивайте!
Закладки, Поля и Переменные документа - это три совершенно разные вещи!

Опишите подробнее, что нужно.
Текст должен быть виден в документе? Изменять его сожержимое из макроса надо?

Добавлено: 24 июл 2006, 08:02
Taller
есть шаблон документа, в который хочется подставлять данные из Excel строго в определенные участки документа.

Например: ФИО первой строкой, общая сумма последней, и т.д.

Добавлено: 24 июл 2006, 09:24
Sokl
Я делал так (пользовался формами).
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
7. F5 на макросе и видим на экране "QWERTY" ! Или "ЙЦУКЕН", как у меня, что в общем-то тоже радует глаз!

Я, кстати, ещё и защиту документа включал, чтобы "никто :wink: " не мог исправить ничего, кроме данных форм...

Пойдёт? Извиняюсь, что так подробно, вдруг всё-таки кто-ньть читать будет :)