1

Тема: Связанные поля в word

Всем доброго времени суток.

Прошу помощи, сам в VBA никогда не писал. Пытаюсь повторить вот этот пример http://wordexpert.ru/forum/viewtopic.ph … mp;login=1 . Но при попытке создать такой документ, VBA пишет ошибку "object doesn't support this property or method", указывая на строку  ActiveDocument.cmd_Отдел.List = lstСписокОтделов . работаю в MS Office 2010. Мне необходимо сделать похожий документ, где будет 3 различных списка формироваться исходя из предыдущего выбора.

Заранее всем спасибо

2

Re: Связанные поля в word

Хорошо, если разбить задачу на подзадачи, тогда вопрос такой -

Есть вот такой код в шаблоне Word:

Public Property Get lstСписокОтделов() As Variant ' Список Отделов
Dim lst(1 To 5) As String
    lst(1) = "Проектирование"
    lst(2) = "Сборка"
    lst(3) = "Доставка"
    lst(4) = "Маркетинг"
    lst(5) = "Бухгалтерия"
    lstСписокОтделов = lst
End Property

Private Sub Document_New ()
    ActiveDocument.cmd_Отдел.List = lstСписокОтделов
End Sub

Ошибка "object doesn't support this property or method" выводится на строке "ActiveDocument.cmd_Отдел.List = lstСписокОтделов". Как обратиться к существующему полю в документе ?

3

Re: Связанные поля в word

Походу разобрался в чём "соль" - элемент ComboBox должен быть ActiveX. Но тогда получается другая проблема, после сохранения шаблона  ComboBox остаётся, а мне надо, чтобы он при сохранении в doc больше не отображался, только в шаблоне, это возможно ?

4

Re: Связанные поля в word

minigo пишет:

Походу разобрался в чём "соль" - элемент ComboBox должен быть ActiveX. Но тогда получается другая проблема, после сохранения шаблона  ComboBox остаётся, а мне надо, чтобы он при сохранении в doc больше не отображался, только в шаблоне, это возможно ?

Разместите элемент ComboBox в созданной вами форме UserForm1, а в поле документа установите закладку bm_Отдел на место отображения выбранного значения. Пропишите команду показа формы в процедуру Document_New. Ваш код формирования списка ComboBox пропишите в процедуру инициализации созданной формы UserForm_Initialize. В процедуру закрытия формы впишите код присвоения закладке значения выбранного в ComboBox.
При создании нового документа форма будет открываться и вы сможете выбрать требуемое значение из списка. При закрытии формы выбранное значение займет положение закладки.

Private Sub Document_New()
    UserForm1.Show(vbModal)
End Sub

Private Sub UserForm_Initialize()
    cmd_Отдел.List = lstСписокОтделов
End Sub

Public Property Get lstСписокОтделов() As Variant ' Список Отделов
Dim lst(1 To 5) As String
    lst(1) = "Проектирование"
    lst(2) = "Сборка"
    lst(3) = "Доставка"
    lst(4) = "Маркетинг"
    lst(5) = "Бухгалтерия"
    lstСписокОтделов = lst
End Property

Private Sub UserForm_Terminate()
    ActiveDocument.Bookmarks("bm_Отдел").Range.Text = cmd_Отдел.Text
End Sub

5

Re: Связанные поля в word

шинсервис магазин шин и дисков

Отзывы о филиалах ШИНСЕРВИС
Купил шины в интернет-магазине, на них была акция - бесплатный шиномонтаж (в инет-магазине прямо рядом с шинами написано). Это условие я обговорил с оператором, когда заказывал шины по интернету, сказала, что привезут купон. НО. При получении шин [url=http://koleso-fortuny.ru/]шинсервис магазин шин и дисков
[/url]  купон мне не предоставили, сославшись на то, что я должен был покупать в розничном магазине для получения купона! Почему оператор этого сразу не сказала? И почему тогда в интернет-магазине рядом с шиной стоит знак Акция - бесплатный шиномонтаж? В общем, развод клиентов.
Месяц назад купил у них Литые диски Replica H Fo65H и у них же "переобулся". Сегодня 07.04.2016 г. переобувался на летнюю резину и мне показали, что за диски я купил. 2 диска из 4 с большим биением и на каждом диске по пол окружности грузов висит (пробег на этих дисках 2000 км.). Они видимо не зря не разрешают находится рядом, когда они одевают резину на диски. Даже и не думайте у них, что-либо покупать!
Заказал новую резину а привезли грязную пылью далеко не похожую на новую на вопрос, что с ней она, что б/у сказали нет, новая, где хранят её не известно, ощущение, что на ней по полю ездили! Шинсервис, вы хоть печётесь о своих клиентах! В других компаниях привозят в пакетах упакованную здесь же просил пакеты нет. Говорю, давай куплю нет. Мне не выдали.
Купил шины в интернет-магазине, на них была акция - бесплатный шиномонтаж (в инет-магазине прямо рядом с шинами написано). Это условие я обговорил с оператором, когда заказывал шины по интернету, сказала, что привезут купон. НО. При получении шин купон мне не предоставили, сославшись [url=http://koleso-fortuny.ru/]шинсервис магазин шин и дисков
[/url]  на то, что я должен был покупать в розничном магазине для получения купона! Почему оператор этого сразу не сказала? И почему тогда в интернет-магазине рядом с шиной стоит знак Акция - бесплатный шиномонтаж? В общем, развод клиентов.
Месяц назад купил у них Литые диски Replica H Fo65H и у них же "переобулся". Сегодня 07.04.2016 г. переобувался на летнюю резину и мне показали, что за диски я купил. 2 диска из 4 с большим биением и на каждом диске по пол окружности грузов висит (пробег на этих дисках 2000 км.). Они видимо не зря не разрешают находится рядом, когда они одевают резину на диски. Даже и не думайте у них, что-либо покупать!
Заказал новую резину а привезли грязную пылью далеко не похожую на новую на вопрос, что с ней она, что б/у сказали нет, новая, где хранят её не известно, ощущение, что на ней по полю ездили! Шинсервис, вы хоть печётесь о своих клиентах! В других компаниях привозят в пакетах упакованную здесь же просил пакеты нет. Говорю, давай куплю нет. Мне не выдали.
шинсервис магазин шин и дисков, отзывы о филиалах шинсервис

http://koleso-fortuny.ru/