Настоящая статья посвящена теме, может быть, и не новой, но, как показывают письма читателей, по-прежнему актуальной — автоматизации приложений Microsoft Office. Многие разработчики в процессе работы над своими проектами (неважно, с помощью какого средства разработки — Delphi, C++Builder, Visual Basic…) нередко применяют сервисы, предоставляемые Microsoft Office, например построение сводных таблиц и диаграмм с помощью Microsoft Excel, генерацию и печать документов с помощью Microsoft Word и т.д.
Нередко пользователи, привыкшие использовать приложения Microsoft Office в повседневной работе, сами настаивают на применении в приложениях таких сервисов либо просто на сохранении отчетов и других документов в одном из форматов Microsoft Office. Отметим, что потенциальные пожелания подобного рода компанией Microsoft учтены достаточно давно — практически все, что в состоянии сделать пользователь любого приложения Microsoft Office с помощью меню, клавиатуры и инструментальной панели, может быть произведено и автоматически, то есть либо из VBA-программы, либо из приложения, созданного с помощью одного из средств разработки.
ИЗ WORD в EXCEL new
Иными словами, приложения Microsoft Office являются программируемыми. Программируемость в общем случае означает возможность управления данным приложением с помощью макроязыков либо с помощью других приложений.
Все компоненты Microsoft Office поддерживают один и тот же макроязык: Visual Basic for Applications (VBA), позволяющий создавать приложения непосредственно внутри документов Office (это называется «решения на базе Microsoft Office»). Управление же компонентами Office из других приложений осуществляется с помощью автоматизации (Automation, ранее — OLE Automation) — все приложения Microsoft Office являются серверами автоматизации (или COM-серверами). Для создания таких приложений пригодны любые средства разработки, позволяющие создавать контроллеры автоматизации (COM-клиенты). Наиболее часто для этой цели используется Visual Basic, но это могут быть и Delphi, и C++Builder, и Visual C++. Однако прежде чем обсуждать возможности тех или иных средств разработки, следует разобраться, что такое автоматизация.
Коротко об автоматизации
Автоматизация — это одна из возможностей, предоставляемых технологией Microsoft COM (Component Object Model). Не вдаваясь в подробности реализации этой технологии, заметим, что она используется приложениями (называемыми COM-серверами) для предоставления доступа к их объектам, а также к свойствам и методам этих объектов другим приложениям (называемым COM-клиентами), каковыми могут быть и средства разработки.
Например, текстовый процессор, будучи COM-сервером, может предоставлять другим приложениям доступ к документу, абзацу, закладке с помощью соответствующих объектов. Для именования (и опознания) COM-серверов обычно используются специальные строковые обозначения — программные идентификаторы (Programmatic Identifier, ProgID). Они нужны для того, чтобы операционная система могла с помощью этих идентификаторов определить, в каком именно каталоге (или на каком компьютере локальной сети, если используется тот или иной способ удаленного доступа к серверу) расположен исполняемый файл сервера автоматизации, и запустить его на выполнение. О том, какие именно программные идентификаторы применяются для того или иного приложения Microsoft Office, будет сказано в разделах, посвященных этим приложениям.
Связывание данных таблиц Excel и документов Word
Объекты автоматизации с точки зрения программирования мало чем отличаются от обычных объектов, знакомых нам из теории и практики объектно-ориентированного программирования. Как и обычные объекты, они обладают свойствами и методами. Свойство — это характеристика объекта; например, свойством абзаца (объект Paragraph) может быть его стиль (Style). Методом называется действие, которое можно выполнить с объектом (например, можно сохранить документ с помощью метода SaveAs объекта Document).
Нередко серверы автоматизации содержат наборы однотипных объектов, называемых коллекциями. Например, текстовый процессор может содержать коллекцию документов, а каждый документ — коллекцию абзацев.
Как узнать, какие объекты доступны в серверах автоматизации? Для этой цели в комплект поставки любого сервера автоматизации входит документация и файлы справки, описывающие их объектную модель. Если брать приложения Microsoft Office 2000, то это справочные файлы для программистов на Visual Basic for Applications VBAxxx9.CHM (для Microsoft Office 97 — VBxxx8.HLP соответственно). Отметим, что по умолчанию они не устанавливаются, так как нужны разработчикам, а не рядовым пользователям.
Вся информация об объектах, необходимая контроллерам автоматизации, содержится в библиотеках типов. Библиотеки типов хранятся в специальном бинарном формате и обычно представлены в виде файлов с расширениями *.olb или *.tlb, а также могут содержаться внутри исполняемых файлов (*.exe) или динамически загружаемых библиотек (*.dll). Библиотеки типов можно просматривать с помощью утилиты OleView, входящей в состав Microsoft Platform SDK, а средства разработки фирмы Borland содержат свои собственные утилиты просмотра библиотек типов.
Заканчивая это более чем краткое введение в автоматизацию, остановимся также на понятии связывания. Связыванием называется способ, с помощью которого переменная или класс приложения-контроллера ссылается на объект автоматизации. Таких способов существуют два: позднее связывание и раннее связывание.
Позднее связывание означает, что реальная ссылка на объект в переменной или классе появляется на этапе выполнения приложения-контроллера. Этот способ обычно более медленный, чем ранее связывание, но он доступен во всех средствах разработки, позволяющих создавать контроллеры автоматизации, и менее чувствителен к тому, все ли параметры методов перечислены при их вызовах в коде приложения-контроллера. При позднем связывании корректность вызовов методов проверяется в момент их осуществления, то есть на этапе выполнения приложения, а не на этапе его компиляции.
Раннее связывание означает, что реальная ссылка на объект автоматизации появляется уже на этапе компиляции. Поэтому в коде приложения-контроллера требуется ссылка на библиотеку типов (или на специальный модуль, являющийся интерфейсом к ней), и это приводит к генерации в этом приложении классов с теми же свойствами и методами, что и у объектов автоматизации, что делает возможными синтаксическую проверку имен методов на этапе компиляции и доступ к именованным константам, содержащимся в библиотеке типов. Отметим, однако, что далеко не все средства разработки, поддерживающие позднее связывание, осуществляют также поддержку раннего связывания.
Закончив экскурс в COM и автоматизацию, вернемся к вопросу о том, какие средства разработки удобно применять для создания контроллеров автоматизации.
VBA и средства разработки контроллеров автоматизации
Как уже было сказано выше, контроллеры автоматизации можно создавать с помощью различных средств разработки, и если вы уже используете какое-либо из инструментальных средств, поддерживающих создание контролеров автоматизации, можно именно им и воспользоваться. Единственное, что следует сделать — это узнать, поддерживается ли вашим средством разработки ранее связывание, если вы планируете его использовать. Примеры простейших контроллеров автоматизации (как правило, для Microsoft Word или Microsoft Excel), дающие представление о том, как вызываются методы сервера, обычно можно найти в комплекте поставки большинства современных средств разработки.
Освоение объектной модели автоматизируемого сервера можно начать с записи необходимой последовательности действий в виде макроса с помощью VBА. Создать макрос можно, выбрав из меню приложения Microsoft Office пункт Tools | Macro |Record New Macro. Просмотр полученного макроса в редакторе кода VBA обычно позволяет понять, как должен выглядеть код, реализующий эту последовательность действий.
Обсудив возможные средства разработки контроллеров автоматизации, можно наконец перейти к самим приложениям Microsoft Office, к их объектным моделям и к их использованию. В качестве средства разработки для приведенных ниже примеров используется Borland Delphi 5, но поскольку в них приводится последовательность вызова свойств и методов объектов Microsoft Office, перенос кода на другие языки программирования не должен вызвать особых затруднений. Если специально не оговорено, в данной статье во всех примерах используется раннее связывание.
Объектные модели Microsoft Office
Как было сказано выше, приложения Microsoft Office предоставляют контроллерам автоматизации доступ к своей функциональности с помощью своей объектной модели, представляющей собой иерархию объектов. Объекты могут предоставлять доступ к другим объектам посредством коллекций.
В качестве иллюстрации того, как выглядит иерархия объектов Microsoft Office, приведем небольшой фрагмент объектной модели Microsoft Word (рис.1):
В объектных моделях всех приложений Microsoft Office всегда имеется самый главный объект, доступный приложению-контроллеру и представляющий само автоматизируемое приложение. Для всех приложений Microsoft Office он называется Application, и многие его свойства и методы для всех этих приложений также одинаковы. Наиболее часто мы будем использовать следующие из них:
- Свойство Visible (доступное для объекта Application всех приложений Microsoft Office) позволяет приложению появиться на экране и в панели задач; оно принимает значения True (пользовательский интерфейс приложения доступен) или False (пользовательский интерфейс приложения недоступен; это значение устанавливается по умолчанию). Если вам нужно сделать что-то с документом Office в фоновом режиме, не информируя об этом пользователя, можно не обращаться к этому свойству — в этом случае приложение можно будет найти только в списке процессов с помощью приложения Task Manager.
- Метод Quit закрывает приложение Office. В зависимости от того, какое приложение Office автоматизируется, он может иметь параметры или не иметь таковых.
Общие принципы создания контроллеров автоматизации
В общем случае контроллер автоматизации должен выполнять следующие действия:
- Проверить, запущена ли копия приложения-сервера.
- В зависимости от результатов проверки запустить копию автоматизируемого приложения Office либо подключиться к уже имеющейся копии.
- Сделать окно приложения-сервера видимым (в общем случае это не обязательно).
- Выполнить какие-то действия с приложением-сервером (например, создать или открыть документы, изменить их данные, сохранить документы и пр.)
- Закрыть приложение-сервер, если его копия была запущена данным контроллером, или отключиться от него, если контроллер подключился к уже имеющейся копии.
Соответствующий код для Delphi представлен в листинге 1.
Здесь мы воспользовались функциями GetActiveOleObject и CreateOleObject для подключения к уже запущенной копии приложения-сервера или запуска новой, если сервер не запущен, что приводит к тому, что в вариантную переменную помещается ссылка на объект Application соответствующего сервера.
Приведенная часть кода контроллера в других средствах разработки может выглядеть по-другому — она не имеет прямого отношения к методам объектов Office, так как обусловлена правилами вызова стандартных функций OLE в Delphi (за исключением вызовов методов Visible и Quit объекта Application). А вот все то, что должно быть вставлено вместо комментария «Здесь выполняются другие действия с объектами приложения Office», в разных средствах разработки должно выглядеть более или менее однотипно — используя созданную вариантную переменную, мы манипулируем методами и свойствами объекта Application.
В заключение сделаем одно маленькое замечание касательно числа параметров методов объектов автоматизации. В случае применения позднего связывания число указанных в коде параметров метода не обязано совпадать с их истинным числом (которое можно найти в описании объектной модели соответствующего приложения). В этом случае вполне допустимым является следующий код:
несмотря на то что метод Quit объекта Application в случае некоторых приложений Microsoft Office (например, Microsoft Word) имеет параметры.
При использовании же раннего связывания, например при создании контроллеров с помощью Delphi, следует более строго подходить к определению параметров — их число и тип должны соответствовать описанию методов в библиотеке типов. Например, в случае раннего связывания корректный код на Delphi для закрытия документа Word со значениями всех параметров по умолчанию будет иметь вид:
App.Quit(EmptyParam, EmptyParam, EmptyParam);
Исключением из этого правила является Visual Basic — это средство разработки позволяет не задумываться о числе параметров методов при написании кода.
Обсудив общие принципы создания контроллеров автоматизации и узнав, как это делается средствами Borland Delphi, мы можем перейти к рассмотрению автоматизации конкретных приложений Microsoft Office. Начнем с одного из самого популярных компонентов этого пакета — с Microsoft Word.
Автоматизация Microsoft Word
В данном разделе мы обсудим наиболее часто встречающиеся задачи, связанные с автоматизацией Microsoft Word. Но перед этим рассмотрим, каковы программные идентификаторы основных объектов Microsoft Word и что представляет собой его объектная модель.
Программные идентификаторы и объектная модель Microsoft Word
Для приложения-контроллера доступны непосредственно следующие объекты:
Источник: compress.ru
Word против Excel: какую из двух программ вы должны использовать
Среди множества программ и платформ, которые в настоящее время предлагает софтверный гигант, Microsoft, одни более популярные и успешные, чем другие. Так обстоит дело, например, с Windows 10, или приложений, составляющих Office люкс.
Фактически, в этих строках мы собираемся сосредоточиться на двух наиболее часто используемых в мире решениях за многие годы. Как вы знаете, когда мы говорим о офисном пакете, превосходящем по преимуществу, мы имеем в виду именно Office. Это мощный пакет для повышения производительности, состоящий из большого количества программы и решения. Они отвечают за удовлетворение потребностей большинства пользователей.

Office, пакет производительности для всех типов пользователей
Более того, можно сказать, что программы, входящие в вышеупомянутый офисный пакет, способны работать в любых средах. Таким образом, эти приложения широко распространены в офисах, образовательных настройках или в домах многих людей по всему миру. В зависимости от потребностей каждого пользователи могут выбрать тот или иной вид работы с помощью соответствующего приложения.
Но если есть два из них, которые можно считать наиболее распространенными и используемыми в общих чертах, это Word и Excel. Это правда, что, например, в случае необходимости создать мультимедийную презентацию, мы также можем использовать, например, PowerPoint. Не говоря уже о других широко используемых платформах, таких как Outlook, Один диск, Skype или OneNote. Но если есть что-то, что обычно характеризует Office, то это Word и Excel.

Как большинство из вас, возможно, уже знают из первых рук, первая из упомянутых нами программ — это мощный текстовый процессор. В то же время Excel — это приложение, ориентированное на рабочий с числовыми данными. Однако, в основном благодаря своей функциональности, обе программы идут намного дальше. Оба имеют огромное количество функций, которые были интегрированы с годами и обновлениями. Все это распределено по различным меню и подменю, которые мы находим в соответствующих пользовательских интерфейсах.
Однако в значительной степени из-за его широкого использования во всем мире иногда, особенно менее опытные пользователи, путают оба решения.
Когда предпочтительно использовать Microsoft Word?
Это правда, что и Слово, и Excel две программы, которые являются частью, как мы уже упоминали, офисная одежда программного гиганта Office . Однако каждое из этих двух решений ориентировано на определенный тип использования. Также следует признать, что обе программы имеют общие функции, сочетания клавиш, интерфейсы и т. Д .; что может вызвать у некоторых путаницу.

Однако, несмотря на все это, начиная работу, мы должны четко понимать, какое приложение лучше всего нам поможет в данный момент. Начнем с Word, универсального многозадачного текстового процессора, в котором есть множество Функции и элементы для использования. Однако, несмотря на все, что предлагает программа, на самом деле, как мы говорим, она ориентирована на обработку текста. Это правда, что здесь мы можем реализовать таблицы, Графики , фотографии, уравнения, видео , И т.д.
Но мы должны помнить, что все это, о чем мы вам говорили, не более чем элементы, которые используются для обогащения или поддержки центральной работы. И дело в том, что это не что иное, как текст, который мы пишем или редактируем из вышеупомянутой программы. Для всего этого Word сам предлагает нам всевозможные функции, которые позволяют нам работать со словами, абзацами и страницами, которые мы генерируем отсюда.
Также имейте в виду, что благодаря шаблонам, которые предлагает нам Word, мы можем создавать все виды документов, даже с впечатляющими конструкций . Но, несмотря на все это, должно быть очень ясно, что это приложение, в основном ориентированное на обработку текста.
Ситуации, в которых предпочтительнее использовать Microsoft Excel
Скажем, это программа, в которой, как и в предыдущем случае, вы можете писать и редактировать документы по центру текста. Однако, во многом из-за пользовательского интерфейса, этот тип использования в данном случае далеко не самый подходящий. Те из вас, кто когда-либо работал или хотя бы имел доступ к Excel, знают, что его интерфейс целиком покрыт мелкими ячейками. Здесь вы можете вводить все виды данных, включая упомянутые тексты, поскольку их размер можно изменять.

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

Таким образом, как мы видим, хотя это две офисные программы, их использование хорошо дифференцировано, хотя есть пользователи, которые продолжают их сбивать с толку. Короче говоря, если мы хотим работать с текстами, как при их создании, так и редактирование , Word — это наиболее частое предложение. Однако, если мы собираемся сосредоточиться на работе с числами, счета , формулы и др .; Excel — это то, что вы ищете.
- Microsoft Excel
- Microsoft Word
Источник: itigic.com
Word и Excel 2010

Word и Excel – популярные программы из офисного пакета Microsoft Office. Работа с текстом и подготовка отчетности – наиболее используемые функции на предприятиях. Вне зависимости от сферы деятельности фирмы подготовка документации и создание отчетности являются обязательными для любой кампании. При поддержке нашего сайта вы сможете скачать представленные программы отдельно от пакета Microsoft Office. Таким образом, пользователи будут избавлены от лишних утилит.
Обзор Word
Word – это текстовый редактор, позволяющий работать с документацией. Первоочередная задача программы заключается в создании текстовых документов. Наличие специальных инструментов помогают редактировать текст, чтобы повысить его привлекательность. Например, выделить ключевые слова жирным шрифтом или подчеркнуть главную мысль другим цветом. Большинство пользователей используют функциональные возможности Word на 20%, забывая о множестве полезных инструментов, которые имеются в утилите.

- Широкий функционал при редактировании (шрифты, темы, заголовки).
- Автоматическая проверка правописания.
- Возможность вставки в текст изображений, таблиц и клипов.
- Поддержка символов, недоступных на стандартной клавиатуре.
- Форматирование текста для повышения удобочитаемости документа.
- Наличие функций, помогающих сохранить документ при аварийном выходе.
- Поддержка инструментов, позволяющих сделать текст более презентабельным (нумерация, видимые сноски, таблицы и.т. п.).
Обзор Excel
Excel – это табличный редактор, применяющийся для создания таблиц и графиков. По сути, презентованная программа представляет собой продвинутую версию калькулятора с возможностью визуализации полученных результатов. Центральным инструментом Excel является вкладка «формулы» – набор команд, выполняющих математические, логические и экономические расчеты. Работать в данной программе без знания основных формул невозможно, поэтому утилита используется преимущественно в рабочих целях (экономисты, аналитики, бухгалтеры и другие). Простому пользователю утилита поможет в видении семейного бюджета или планировании собственных расходов.

- Оперативность обработки данных.
- Автоматизация расчетов с использование логических алгоритмов.
- Возможность форматировать таблицы и сопроводительный текст.
- Вариативность графического анализа данных (гистограммы, таблицы и т.п.).
- Возможность экспортирования таблиц и графиков из сторонних приложений.
- Наличие специальных формул для расчетов и поддержка математических символов.
- Отсутствие ошибок при расчетах, которые могут быть вызваны человеческим фактором.
Вывод
Русская версия Word и Excel – незаменимые помощники, которые автоматизируют некоторые рабочие процессы. Помогут в создании отчетности и подготовке сопутствующей документации. Разобраться с новыми версиями Microsoft Office (ревизии 2010 и 2016 годов) не составит особого труда, поскольку базовый функционал программы остается неизменным. Большинство нововведений затрагивают интерфейс утилиты, делая меню максимально простым и удобным в использовании.
| Язык | Русский |
| Лечение | ключик активации, полная версия |
Источник: electronics-workbench.ru

