Microsoft Excel

трюкиприёмырешения

VBA и макросы
31.10.2016 5275

Очень простой пример управления Word из Excel с помощью VBA

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

Недавно у меня была задача по написанию программы по заполнению отчета по SLA (Service Level Agreement — уровень сервисных соглашений). Отчет по SLA был представлен в виде документа Word с множеством таблиц и других данных, которые были заполнены из девяти таблиц Excel.

Используя вышеописанный метод, я мог написать VBA-код, работающий с отдельными таблицами, собирающий в них нужную информацию, а затем размещающий ее в таблицах или диаграммах документа Word. Перемещая подобным образом данные вручную, я бы потратил на это несколько дней, но при использовании кода вся работа была сделана за пять минут.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub Test_Word()
	Dim Owd As Word.Application, oWdoc As Word.Document 
    Dim or As Word.Range, ot As Word.Table
    Set oWd = CreateObject("Word.Application")
    Set oWdoc = oWd.Documents.Add
    Set or = oWdoc.Range
    Set ot = oWdoc.Tables.Add(r, 4, 5)
    ot.Cell(1, 1).Range.Text = "test"
    oWdoc.SaveAs ("C:\MyTest.docx") ' Вы можете указать свой путь
    oWdoc.Close
    oWd.Quit
    Set oWdoc = Nothing
    Set oWd = Nothing
End Sub

Действие этого примера можно повторить и вручную, копируя и вставляя данные, но при этом вы должны быть очень усидчивым и трудолюбивым, чтобы проделать такую работу. Это хороший пример применения языка макросов, который наделяет пользователя большими возможностями по автоматизации задач в приложениях Microsoft Office и позволяет работать вне структуры меню программ Microsoft.


Top