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

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Taller
Сообщения: 25
Зарегистрирован: 17 июл 2006, 01:45
Контактная информация:

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

как организовать такое обращение?
Taller
Сообщения: 25
Зарегистрирован: 17 июл 2006, 01:45
Контактная информация:

по CTRL+F9 не удается,
и вставить поле, тоже не работает даже на примерах из хелпа
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

я из дельфей с закладками работал (Bookmarks) может сюда копнуть?
Изображение
Taller
Сообщения: 25
Зарегистрирован: 17 июл 2006, 01:45
Контактная информация:

скорее всего что это одно и то же, те же яйца вид сбоку.

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

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

п.с. с дельфями работал года 3 назад, а под офис вообще ничего не писал. вот осваиваю смежные специальности
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

насчёт списка не уверен, но есть что-то вроде коллекции Variables("имя")
Изображение
Taller
Сообщения: 25
Зарегистрирован: 17 июл 2006, 01:45
Контактная информация:

речь про DOCVARIABLES("имя") ???

если да, то

1. как их поместить в документ в нужное место?
2. как этим переменным задать значение при обращении из excel'я?
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

упс.. просмотрел реализацию (чужая) это они там так закладки назвали....
можно просто добавить закладку через Вставка/Закладка обращение к ней
ActiveDocument.Bookmarks("имязакладки").Range.Text = "qweqweqwe"
Изображение
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Не смешивайте!
Закладки, Поля и Переменные документа - это три совершенно разные вещи!

Опишите подробнее, что нужно.
Текст должен быть виден в документе? Изменять его сожержимое из макроса надо?
Taller
Сообщения: 25
Зарегистрирован: 17 июл 2006, 01:45
Контактная информация:

есть шаблон документа, в который хочется подставлять данные из Excel строго в определенные участки документа.

Например: ФИО первой строкой, общая сумма последней, и т.д.
Sokl
Сообщения: 451
Зарегистрирован: 12 сен 2005, 08:52
Откуда: ОМ

Я делал так (пользовался формами).
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: " не мог исправить ничего, кроме данных форм...

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