Alex@Point

Блог про програмирование в России

Обо мне Поиск по блогу
Alex
Кто:Алексей Дыбенко

Где:Москва, Россия

Google
 
Web AlexBlog.net
 

среда, октября 04, 2006

Автоматизация офисных приложений

Столько уже раз отвечал на это вопрос, что решил сделать тут заметку и просто давать URL. Итак…

Люди, пытающиеся как-то автоматизировать Word или Excel из своих приложений, спрашивают – как сделать то или се. Да, на самом деле объектная модель офисных приложений огромна, и найти там ответ на вопрос весьма затруднительно. Но зато там есть Запись Макрокоманд (Record New Macro), который дает ответ на любой вопрос. Вы просто запускаете его, и начинаете делать в документе то, что хотите автоматизировать. Потом останавливаете запись и смотрите на полученный код. Все! Код можно даже скопировать в свое приложение, если оно на VB/VBA, только не забывайте, что код будет выполняться не в родном приложении, и например, если у вас такая строка работает в Word:

Selection.Delete Unit:=wdCharacter, Count:=1

То в Excel она должна выглядеть так:

oWordApp.Selection.Delete Unit:=wdCharacter, Count:=1

где oWordApp – это ссылка на объект Word.Application