Вопрос № 165951: Здравствуйте уважаемые эксперты!!! Помогите пожалуйста в решении следующей задачи на VBA в Word: Надо написать программу, которая будет выводить Вывески кабинетов( с помощью UserForm), т.е. например, открывется форма и в TextBox1 мы вводим номер, а ...
Вопрос № 165.951
Здравствуйте уважаемые эксперты!!! Помогите пожалуйста в решении следующей задачи на VBA в Word: Надо написать программу, которая будет выводить Вывески кабинетов( с помощью UserForm), т.е. например, открывется форма и в TextBox1 мы вводим номер, а TextBox2- название. И всё это должно вставится в Word. Подскажите пожалуйста, как это можно организовать? Заранее спасибо!
Отправлен: 27.04.2009, 14:30
Вопрос задал: Panthera (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Тесленко Евгений Алексеевич
Здравствуйте, Panthera! подобную задачу можно выполнить с применением VB(A) кода предварительно создав в шаблоне "Вывески кабинета" закладки код позволяет решить эту задачу из другого приложения MS Officce например Excel
#thank 248319 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает: Botsman
Здравствуйте, Panthera! Еще один вариант решения вашей задачи. Создайте файл, в котором будет шаблон вашей вывески. Макрос использует поиск и замену заданных слов, поэтому в файле шаблона должно быть всего 2 слова "название" и "номер". Эти слова вы располагаете на листе и выплоняете все необходимое форматирование. Далее заходите в режим Visual Basic и открываете объект ThisDocument и вставляете следующие 2 процедуры:
Private Sub Document_New() 'запускается при создании
файла из шаблона UserForm.Show End Sub
Sub doReplace(what As String, byWhat As String) 'находит и заменяет строку what на строку byWhat With ActiveDocument.Range.Find .Text = what .Replacement.Text = byWhat .Execute Replace:=wdReplaceAll End With End Sub
Упоминаемая в первой процедуре форма UserForm, это ваша форма, которая должна быть создана в данном проектесодержать поля te
xtBox1 и textBox2 и кнопку. В режиме конструктора форм делаете двойной щелчок мышью по кнопке и заполняете соответствующую процедуру обработки следующим кодом
Call ThisDocument.doReplace("название", textBox1.Text) Call ThisDocument.doReplace("номер", textBox2.Text) Hide Закрываете редактор и сохраняете документ в формате шаблон документа (.dot), например, под именем вывеска.dot. Все. Теперь при двойном щелчке по созданному файлу (по умолчанию будет
выполнено действие "создать") будет создаваться новый документ и сразу появится созданная вами UserForm, по заполнении которой и нажатии кнопки будет создана необходимая вывеска. На всякий случай вот пример, реализующий все вышеизложенное. Рад был помочь!
--------- Хочешь победить Excel? Спроси меня как! ;)
Ответ отправил: Botsman (статус: Практикант)
Ответ отправлен: 28.04.2009, 10:17
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 248345 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.