Вопрос № 87359: Доброго времени суток!
подскажите пожалуйста как с помощью VBA организовать формирование документа Word на основе данных находящихся в екселе
желательно и литературку по этой теме
..Вопрос № 87386: Доброго времени суток уважаемые эксперты.
Можете ли Вы привести пример работы со стилями оформления (MS Word) на vba.
Хотелось бы узнать какие стили есть в текущем документе и вывести их в массив или объект наподобие listbox.
Интересно и...
Вопрос № 87.359
Доброго времени суток!
подскажите пожалуйста как с помощью VBA организовать формирование документа Word на основе данных находящихся в екселе
желательно и литературку по этой теме
Отправлен: 17.05.2007, 16:50
Вопрос задал: Smile1 (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: fsl
Здравствуйте, Smile1!
По поводу литературы. По этому адресу очень много всякой литературы, в частности и по VBA имеется.
http://www.microsoft.com/rus/Msdnaa/Curricula/Default.mspx
Удачи!
--------- Ну, Вы спросили!
Ответ отправил: fsl (статус: Студент)
Ответ отправлен: 18.05.2007, 08:51 Оценка за ответ: 4 Комментарий оценки: Спасибо за интересную ссылку, уже воспользовался , буду разбираться.
Отвечает: Залетин Виталий Викторович (мь!тарь)
Здравствуйте, Smile1!
Могу из литературы посоветовать книгу:
В. Д. Хорев "Программирование на VBA в Microsoft Office"
Довольно таки неплохое пособие для начинающих. Там и пример составления счета в компьютерном магазине на основе Экселя и Ворда. Вот адрес в сети:
http://lib.mexmat.ru/books/13257
Там внизу страницы есть ссылка "Скачать с другого сайта". Перейдите по ней и посередине экрана будет вот такая ссылка на скачивание.
Или воспользуйтесь прямой ссылкой:
http://lib.knackery.net/dl.php?code=ewUGSoLFZd3a4ps56qrOXaw9YnNOkgr%2Fd3E7HN5fE590uuvHv6Kee5Ek2G5%2B8zH%2BK1%2BeUaUbZr63r8Uph17tueEon2eAK5R5pACRu0riVq8H7gyvOAJWoRXu1h6KbuXYe%2FmiwFHv5JzOptdEGMtD8G%2F8fM3AFlyTqViMwVylCiaSLBfOOwpaKqADL21%2BQn%2B7HhZ8dgYv%2FBVoYjAakwjPnysF7CNp43tMimxwzWxOPCA%3D
--------- Учиться никогда не поздно. Особенно программированию!
Доброго времени суток уважаемые эксперты.
Можете ли Вы привести пример работы со стилями оформления (MS Word) на vba.
Хотелось бы узнать какие стили есть в текущем документе и вывести их в массив или объект наподобие listbox.
Интересно и то, как по заданному стилю на vba реализовать выделение текста с таким стилем.
Буду рад любым примерам работы с ними.
Заранее спасибо.
Отправлен: 17.05.2007, 19:08
Вопрос задал: Ramon105 (статус: Практикант)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Залетин Виталий Викторович (мь!тарь)
Здравствуйте, Ramon105!
Откройте редактор бейсика, там добавьте форму, назовите ее "frmMain", на форму добавьте кнопку (Name="cmdStyleApply", Caption="Применить стиль"), ListBox (Name="ListBox1").
В коде формы добавьте такой текст:
'================================
Private Sub ApplyStyle(ByVal styleName As String) 'Процедура, применяющая стиль
Selection.style="ActiveDocument.Styles.Item(styleName)"
End Sub
'================================
Private Sub cmdStyleApply_Click() 'Щелчок на кнопке
If ListBox1.ListIndex >= 0 Then
ApplyStyle ListBox1.Text
Else
Beep
End If
End Sub
'================================
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) 'Двойной щелчок по списку
cmdStyleApply_Click
End Sub
'================================
Private Sub ListBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 'Нажатие клавиши "Энтер" на списке
If KeyAscii = vbKeyReturn Then
cmdStyleApply_Click
End If
End Sub
Теперь добавьте стандартный модуль и в нем вставьте такой вот текст:
'================================
Sub ShowStyleList() 'Вызывайте ее как Вам удобно (например, добавьте в меню)
Dim f As New frmMain 'Переменная типа нашей формы
Dim st As Style 'Стиль
Load f 'Грузим форму
f.StartUpPosition = 0 'Задаем "ручную" стартовую позицию (иначе будет в центре)
f.Move 0, 150 'Передвигаем
With f.ListBox1
For Each st In ActiveDocument.Styles 'Идем по списку стилей и добавляем их в список (тот, что ЛистБокс)
.AddItem st.NameLocal
Next
If .ListCount > 0 Then .Selected(0) = True 'Если список заполнен, выделяем первый элемент
End With
f.Show vbModeless 'Показываем форму так, чтобы можно было работать с текстом и форма была постоянно на виду
Set f = Nothing
Set st = Nothing
End Sub
В принципе, это готовое решение. Хотя можно и доработать. Но, повторюсь, если чего-то охота сделать на VBA, но не в курсе как, запустите запись макроса, проделайте все, что надо, остановите запись макроса и изучите полученный код - помогает практически в 100% случаев.
--------- Учиться никогда не поздно. Особенно программированию!
Ответ отправил: Залетин Виталий Викторович (мь!тарь) (статус: Студент)
Ответ отправлен: 19.05.2007, 17:03 Оценка за ответ: 5 Комментарий оценки: Гигантское спасибо.