Дужепростий приклад управління Word з Excel за допомогою VBA - Трюки та прийоми в Microsoft Excel
трюки • прийоми • рішення
Дуже простий приклад управління Word із Excel за допомогою VBA
Цей метод може бути дуже корисним, наприклад, якщо у вас є стандартний документ із таблицями, заповненими даними макросами з таблиць Excel. Ви можете запустити макрос, і дані будуть перенесені до таблиць у документі Word.
Нещодавно я мав завдання щодо написання програми із заповнення звіту поSLA (Service Level Agreement — рівень сервісних угод). Звіт SLA був представлений у вигляді документа Word з безліччю таблиць та інших даних, які були заповнені з дев'яти таблиць Excel.
Використовуючи вищеописаний метод, я міг написати VBA-код, що працює з окремими таблицями, що збирає в них потрібну інформацію, а потім розміщує її в таблицях або діаграмах Word. Переміщуючи подібним чином дані вручну, я витратив би на це кілька днів, але при використанні коду вся робота була зроблена за п'ять хвилин.
Sub Test_Word() Dim Owd As Word.Application, oWdoc As Word.Document Dim або 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.