Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Автоматическое создание документов Word на основе табличных данных Excel






Листинг 3.88. Создание документов Word на основе таблицы Excel

Sub ReportToWord()

Dim intReportCount As Integer ' Количество сообщений

Dim strForWho As String ' Получатель сообщения

Dim strSum As String ' Сумма за товар

Dim strProduct As String ' Название товара

Dim strOutFileName As String ' Имя файла для сохранения сообщения

Dim strMessage As String ' Текст дополнительного сообщения

Dim rgData As Range ' Обрабатываемые ячейки

Dim objWord As Object

Dim i As Integer

 

' Создание объекта Word

Set objWord = CreateObject(" Word.Application")

' Информация с рабочего листа

Set rgData = Range(" A1")

strMessage = Range(" E6")

 

' Просмотр записей на листе Лист1

intReportCount = Application.CountA(Range(" A: A"))

For i = 1 To intReportCount

' Динамические сообщения в строке состояния

Application.StatusBar = " Создание сообщения " & i

 

' Назначение данных переменным

strForWho = rgData.Cells(i, 1).Value

strProduct = rgData.Cells(i, 2).Value

strSum = Format(rgData.Cells(i, 3).Value, " #, 000")

 

' Имя файла для сохранения отчета

strOutFileName = ThisWorkbook.path & " \" & strForWho & ".doc"

' Передача команд в Word

With objWord

.Documents.Add

With.Selection

' Заголовок сообщения

.Font.Size = 14

.Font.Bold = True

.ParagraphFormat.Alignment = 1

.TypeText Text: =" О Т Ч Е Т"

' Дата

.TypeParagraph

.TypeParagraph

.Font.Size = 12

.ParagraphFormat.Alignment = 0

.Font.Bold = False

.TypeText Text: =" Дата: " & vbTab & _

Format(Date, " mmmm d, yyyy")

' Получатель сообщения

.TypeParagraph

.TypeText Text: =" Кому: менеджеру " & vbTab & strForWho

' Отправитель

.TypeParagraph

.TypeText Text: =" От: " & vbTab & Application.UserName

' Сообщение

.TypeParagraph

.TypeParagraph

.TypeText strMessage

 

.TypeParagraph

.TypeParagraph

' Название товара

.TypeText Text: =" Продано товара: " & vbTab & strProduct

.TypeParagraph

' Сумма за товар

.TypeText Text: =" На сумму: " & vbTab & _

Format(strSum, " $#, ##0")

End With

' Сохранение документа

.ActiveDocument.SaveAs FileName: =strOutFileName

End With

Next i

 

' Удаление объекта Word

objWord.Quit

Set objWord = Nothing

 

' Обновление строки состояния

Application.StatusBar = False

' Вывод на экран информационного сообщения

MsgBox intReportCount & " заметки создано и сохранено в папке " _

& ThisWorkbook.path

End Sub


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал