Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/187: Рейтинг темы: голосов - 187, средняя оценка - 4.89
182 / 1 / 0
Регистрация: 12.09.2011
Сообщений: 81

Макрос. Автозаполнение анкеты в Word. Нужна помощь

12.09.2011, 13:44. Показов 40164. Ответов 96
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делаю макрос для автоматического заполнения анкеты.
Есть куча повторяющихся строк, например фамилия, имя, отчество и т.п.
При выполнении макроса данные вставляются только в одном месте, т.е. например фамилия вставляется только один раз в первой закладке, а дальше по доку пусто.
Помоги кто знает.
Заранее спасибо.
Шаблон прилагаю
Вложения
Тип файла: rar шаблон-анкета.rar (30.5 Кб, 1014 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.09.2011, 13:44
Ответы с готовыми решениями:

нужна помощь с Word
здравствуйте!у меня возникла проблема,при распечатке "ворд" рамка(обычная или другая рамка) сдвигается с поставленного места,при...

Макрос. Вычисление среднего значения от времени. Нужна помощь
Необходимо вычислять среднее значение столбца value в течении каждых 5ти минут и результаты заносить в соседний столбец. Т.е. при диапазоне...

нужна помощь в открытии документ word
Привет всем! У меня проблема с открытием документ Microsoft word. Дела в том что получила письмо и не могу открыть её, я заметила что в...

96
182 / 1 / 0
Регистрация: 12.09.2011
Сообщений: 81
22.09.2011, 18:21  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
IfLen(TextBox76.Text) = 0 Then ...
вот так
Visual Basic
1
2
3
4
5
6
7
Private Sub TextBox36_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(TextBox36.Text) < 1 Then MsgBox ("Ââåäèòå íîìåð ïðàâèëüíî")
Dim txt As String
Dim arr() As String
txt = TextBox36
arr = Split(txt)
TextBox37.Text = Mid$(arr(0), 1, 1) & "-" & Mid$(arr(0), 2, 2) & "-" & Mid$(arr(0), 4, 3) & "-Ä"
msgbox выскакивает, но после нажатия "ОК" включается отладчик на последней строке
0
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
22.09.2011, 18:24
Цитата Сообщение от kotan Посмотреть сообщение
If Len(TextBox36.Text) < 1 Then MsgBox ("Введите номер правильно"): Exit Sub
пробуйте
1
182 / 1 / 0
Регистрация: 12.09.2011
Сообщений: 81
23.09.2011, 10:05  [ТС]
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
пробуйте
Thank YOU

Добавлено через 1 минуту
а как бы сделать аналогичный MsgBox на поле ФИО, чтобы выскакивал MsgBox, если, например, введено меньшне двух слов?
0
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
23.09.2011, 16:30
скажу Вам по секрету проверок можно сделать миллионон, чтобы не было цифр, зяпятых, букв в английской раскладке
По поводу слов о=UBound(arr) - это и есть количество слов, но не забываем, что считает от нуля!!!!!!!!
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
24.09.2011, 16:29
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
в английской раскладке
правильно говорить "на английском языке".

Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Массив() As String
Массив() = Split(Me.TextBox1.Text)
If UBound(Массив) < 2 Then
    MsgBox "error"
    Cancel = True
    Exit Sub
End If
End Sub
1
182 / 1 / 0
Регистрация: 12.09.2011
Сообщений: 81
30.09.2011, 11:55  [ТС]
Встал вопрос сделать анологичную комманду по разбивке ФИО на Инициалы+ФИО, только не из одного поля, а из трех отдельных Ф+И+О.
Я пытался сделать несколько вариантов, не один не срабатывает.
Подскажите пожалуйста
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
30.09.2011, 12:06
kotan,
образец, как это сделать, см. во вложенном файле.
Вложения
Тип файла: rar Форма.rar (1.3 Кб, 65 просмотров)
1
182 / 1 / 0
Регистрация: 12.09.2011
Сообщений: 81
30.09.2011, 15:46  [ТС]
Вставил код в кнопку. Тут разобрался, но не могу понять, почему срабатывает только одно условие при вставке данных? Видимо одно значение забивает другое.... не знаю что делать
Visual Basic
1
2
3
4
5
If CheckBox2.Value = True Then ActiveDocument.FormFields("ЕслиНаследство").Result = "8.   Оригінал свідоцтва про право на спадщину"
If CheckBox2.Value = False Then ActiveDocument.FormFields("ЕслиНаследство").Result = ""
 
If CheckBox3.Value = True Then ActiveDocument.FormFields("ЕслиНаследство").Result = "8.   Копія свідоцтва про право на спадщину"
If CheckBox3.Value = False Then ActiveDocument.FormFields("ЕслиНаследство").Result = ""
Добавлено через 1 минуту
Цитата Сообщение от kotan Посмотреть сообщение
Спасибо, все моментально получилось.
Добавлено через 48 минут
Играюсь с функцией CheckBox.
Сделал в форме два чекбокса с названиями "Оригинал" и "Копия".
Вот код:
Visual Basic
1
2
3
4
5
6
7
Private Sub CheckBox2_Click()
ActiveDocument.FormFields("ЕслиНаследство").Result = "8.   Оригінал свідоцтва про право на спадщину"
End Sub
 
Private Sub CheckBox3_Click()
ActiveDocument.FormFields("ЕслиНаследство").Result = "8.   Копія свідоцтва про право на спадщину"
End Sub
Если выбираю один из чекбоксов в Word заносится соответствующее значение, еще до того, как нажата кнопка "Внести данные", но даже если снять галочку, то значение остается и другое не получается внести, поставив галочку. Надобно чтобы значения вносились после нажатия "Внести данные", а при редактировании, если снять галочку, чтобы значение убиралось
Подскажите пожалуста где править?
Вставил код в кнопку. Тут разобрался, но не могу понять, почему срабатывает только одно условие при вставке данных? Видимо одно значение забивает другое.... не знаю что делать
Visual Basic
1
2
3
4
5
If CheckBox2.Value = True Then ActiveDocument.FormFields("ЕслиНаследство").Result = "8.   Оригінал свідоцтва про право на спадщину"
If CheckBox2.Value = False Then ActiveDocument.FormFields("ЕслиНаследство").Result = ""
 
If CheckBox3.Value = True Then ActiveDocument.FormFields("ЕслиНаследство").Result = "8.   Копія свідоцтва про право на спадщину"
If CheckBox3.Value = False Then ActiveDocument.FormFields("ЕслиНаследство").Result = ""
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
30.09.2011, 15:50
Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub CommandButton1_Click()
If CheckBox2.Value = True Then
    ActiveDocument.FormFields("ЕслиНаследство").Result = "8.   Оригінал свідоцтва про право на спадщину"
ElseIf CheckBox3.Value = True Then
    ActiveDocument.FormFields("ЕслиНаследство").Result = "8.   Копія свідоцтва про право на спадщину"
Else
    ActiveDocument.FormFields("ЕслиНаследство").Result = ""
End If
End Sub
1
182 / 1 / 0
Регистрация: 12.09.2011
Сообщений: 81
30.09.2011, 15:59  [ТС]
Цитата Сообщение от Busine2009 Посмотреть сообщение
Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub CommandButton1_Click()
If CheckBox2.Value = True Then
    ActiveDocument.FormFields("ЕслиНаследство").Result = "8.   Оригінал свідоцтва про право на спадщину"
ElseIf CheckBox3.Value = True Then
    ActiveDocument.FormFields("ЕслиНаследство").Result = "8.   Копія свідоцтва про право на спадщину"
Else
    ActiveDocument.FormFields("ЕслиНаследство").Result = ""
End If
End Sub
В точку, работает как часы.
Я целый день сегодня эксперементировал и у меня еще получалось сделать так, что если выбран первый чекбокс - второй становится неактивным и наоборот, вот теперь гуглю, не могу вспомнить
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
30.09.2011, 16:05
kotan,
нужно использовать не CheckBox, а OptionButton.

CheckBox - используется, когда нужно выбрать несколько пунктов;
OptionButton - используется, когда нужно выбрать один пункт.
0
182 / 1 / 0
Регистрация: 12.09.2011
Сообщений: 81
30.09.2011, 16:13  [ТС]
Цитата Сообщение от Busine2009 Посмотреть сообщение
kotan,
нужно использовать не CheckBox, а OptionButton.

CheckBox - используется, когда нужно выбрать несколько пунктов;
OptionButton - используется, когда нужно выбрать один пункт.
Переделал все на OptionButton, теперь вопрос, а как сделать если вообще нет необходимости выбирать ни "Копию" ни "Оригинал"?
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
30.09.2011, 16:16
kotan,
добавить третий OptionButton.
1
182 / 1 / 0
Регистрация: 12.09.2011
Сообщений: 81
30.09.2011, 16:25  [ТС]
ну да, конечно же это логично.
сделано, работает.
Еще раз большое спасибо!

Добавлено через 4 минуты
У меня возник встречный вопрос.
А можно ли с помощmю функций Checkbox или OptionButton спрятать/показать листы Word?
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
30.09.2011, 16:28
kotan,
в Word как таковых листов нет.

Есть такие варианты:
  1. удалить ненужные листы;
  2. сделать текст на ненужных листах скрытым и отжать кнопку Непечатаемые символы;
  3. использовать Уровни: т.е. можно сделать так, что будет видна только одна строка какого-то фрагмента.
0
182 / 1 / 0
Регистрация: 12.09.2011
Сообщений: 81
30.09.2011, 16:31  [ТС]
Цитата Сообщение от Busine2009 Посмотреть сообщение
kotan,
в Word как таковых листов нет.

Есть такие варианты:
  1. удалить ненужные листы;
  2. сделать текст на ненужных листах скрытым и отжать кнопку Непечатаемые символы;
  3. использовать Уровни: т.е. можно сделать так, что будет видна только одна строка какого-то фрагмента.
было бы интересно рассмотреть оба варианта
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
30.09.2011, 16:33
kotan,
там я ещё добавил пункт. Какие именно два?
0
182 / 1 / 0
Регистрация: 12.09.2011
Сообщений: 81
30.09.2011, 16:41  [ТС]
Цитата Сообщение от Busine2009 Посмотреть сообщение
kotan,
там я ещё добавил пункт. Какие именно два?
Интересен способ удаления ненужных листов и вариант сокрытия текста
0
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
30.09.2011, 20:03
Цитата Сообщение от kotan Посмотреть сообщение
использовать Уровни: т.е. можно сделать так, что будет видна только одна строка какого-то фрагмента.
- также интересен
0
182 / 1 / 0
Регистрация: 12.09.2011
Сообщений: 81
04.10.2011, 10:27  [ТС]
Можно еще рассчитывать на описание методов?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.10.2011, 10:27

Нужна помощь ASP+WORD = Ошибка 800a175d|Не_удается_открыть_банк_макросов.
Народ плз подскажите может кто знает как избавиться от такоой ошибки. 800a175d|Не_удается_открыть_банк_макросов. Вот код который...

Макрос Word 2016 замена шрифта рандомных символов на выбранный - MS Word
Есть обычный текст, только буквы и цифры Нужно, чтобы после обработки макроса выбирались случайные символы (примерно четверть от общего...

Автозаполнение шаблонов WORD
Доброго времени дня! Нужна Ваша помощь с автозаполнением писем. Из-за большого потока клиентов просто не успевал заполнять четыре...

Автозаполнение нумерации Word
Можно ли сделать в Worde автозаполнение нумерации? 1,2,3 и тд. в таблице.

Автозаполнение документа Word
Есть данные которые храняться в таблицах, нужно создать макрос который бы сначала обновлял таблицу которая будет использована для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru