Организация обмена данными при помощи vba между приложениями ms office

Обновлено: 30.06.2024

Пакет Microsoft Office предлагает пользователям целый ряд средств для организации обмена между приложениями. Эти инструменты следует использовать, когда необходимо создать документ, в котором будут размещены элементы разных приложений Microsoft Office. Примером такого документа может являться бухгалтерский отчет, созданный в текстовом редакторе Word, в который нужно вставить объекты из табличного редактора Excel, например диаграммы или фрагменты таблиц.

В зависимости от желаемого результата и средств взаимодействия между приложениями можно воспользоваться одним из существующих способов обмена данными.

Самым простым способом является использование буфера обмена. Фрагмент, скопированный в буфер в одном приложении Microsoft Office, можно вставить в документ, созданный в любом другом приложении. Сделать это можно, выполнив команду меню Правка ? Копировать, а затем Правка ? Вставить для копирования фрагмента и соответственно Правка ? Вырезать и Правка ? Вставить для его перемещения. Практически тот же результат получается, если перетащить нужный фрагмент из окна одного приложения в другое. В результате в один документ будет вставлен фрагмент из другого, причем эти документы могут быть созданы в разных приложениях Microsoft Office.

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

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

Внедрение позволяет вставить скопированный в буфер фрагмент в другой документ. При этом будет поддерживаться возможность редактирования документа средствами, предлагаемыми приложением-источником, но динамическая связь между объектом-источником и вставленным фрагментом не сохранится. При связывании к возможностям редактирования добавляется возможность автоматического обновления вставленного фрагмента при изменении объекта-источника.

Например, если в документ Microsoft Word с помощью внедрения вставить диаграмму, созданную в Microsoft Excel, то диаграмму можно редактировать, используя все средства Excel для работы с диаграммами – изменять вид ее элементов, источник данных, параметры диаграммы. Сделать это можно, дважды щелкнув на диаграмме кнопкой мыши. Для завершения редактирования нужно щелкнуть вне диаграммы. Если же диаграмма была вставлена в документ Word способом связывания, то все перечисленные возможности сохраняются. Кроме этого, при изменении диаграммы в объекте-источнике (изменении ее внешнего вида или содержимого, связанного с изменением данных, на основе которых она была построена) все перемены будут отображены во вставленном объекте.

Для связывания и внедрения объекта нужный фрагмент копируют в буфер обмена, после чего выполняют команду Правка ? Специальная вставка. В результате откроется окно Специальная вставка, в котором можно выбрать способ динамической связи (связывание или внедрение) и формат вставляемого объекта. В левой части окна находится переключатель, от положения которого зависит способ связи: Вставить – внедрение фрагмента, Связать – связывание (рис. 4.11).


Рис. 4.11. Окно вставки фрагмента с использованием методов динамической связи

Использование этих способов позволит вам не ограничивать себя средствами одной программы, например Word. Вы всегда сможете сформировать составной документ, фрагменты которого будут созданы в разных приложениях Microsoft Office.

Данный текст является ознакомительным фрагментом.

Продолжение на ЛитРес

Обмен данными между гостевой и хостовой ОС

Обмен данными между гостевой и хостовой ОС Virtual PC предоставляет пользователю несколько способов обмена данными между гостевой и хостовой ОС. Один из них — применение разделяемых папок — был рассмотрен ранее. В этом подразделе рассказано, как осуществить оперативный

Обмен данными между гостевой и хостовой ОС

Обмен данными между гостевой и хостовой ОС По умолчанию любая вновь созданная ВМ способна обмениваться данными с хостовой ОС через буфер обмена. Правда, в отличие от Virtual PC, передавать в обоих направлениях можно лишь текст. Графические данные «обмену и возврату не

Обмен данными между гостевой и хостовой ОС

Обмен данными между гостевой и хостовой ОС Parallels Workstation предоставляет пользователю два способа обмена данными между гостевой и хостовой ОС: передача данных через буфер обмена и пересылка данных по локальной сети. В качестве дополнительного «однонаправленного» метода

2.2 Коммуникации между приложениями

2.2 Коммуникации между приложениями Существует два основных типа взаимодействия между приложениями. Первый тип — связи, ориентированные на создание соединения (connection-oriented), — применяется при работе приложения с потоком данных. Второй вариант — связи без создания

7.2.6. Равноправный межпроцессный обмен данными

7.2.6. Равноправный межпроцессный обмен данными Все рассмотренные выше методы обмена данными имеют некоторую неявную иерархию, в которой одна программа фактически контролирует или управляет другой, а в противоположном направлении сведения обратной связи не передаются

7.2.6. Равноправный межпроцессный обмен данными

7.2.6. Равноправный межпроцессный обмен данными Все рассмотренные выше методы обмена данными имеют некоторую неявную иерархию, в которой одна программа фактически контролирует или управляет другой, а в противоположном направлении сведения обратной связи не передаются

2.2.5.4 Баланс между OLTP и DSS-приложениями

2.2.5.4 Баланс между OLTP и DSS-приложениями В современных информационных системах, как правило, требуется одновременное выполнение разных по характеру запросов к базе данных. Выделяются приложения обработки данных типа OLTP, DSS и пакетной обработки. Пример OLTP-запроса: Есть ли

Глава 8 Обмен данными между приложениями

11.2. Простой обмен данными

11.2. Простой обмен данными В начале работы с описанными в предыдущем разделе компонентами IdTCPServer и IdTCPChent рассмотрим создание несложного клиент-серверного приложения, клиентская и серверная части которого выполняют следующие функции.• Клиентское приложение соединяется

Знакомство с Microsoft Office

Знакомство с Microsoft Office Начинаем работуMicrosoft Office – это пакет прикладных программ, позволяющих решать разнообразные задачи. Приложения Microsoft Office настолько тесно связаны между собой, что их совокупность можно рассматривать как единую программу. Освоив правила

Приложения Microsoft Office

Приложения Microsoft Office В пакет Microsoft Office ХР входит шесть основных приложений, каждое из которых может рассматриваться как самостоятельная программа Windows. В этом разделе вы познакомитесь со структурой окон приложений Office, узнаете о назначении и приемах работы с основными

Обмен данными и проекты интеграции

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

4.4. Обмен данными между приложениями Microsoft Office

4.4. Обмен данными между приложениями Microsoft Office Пакет Microsoft Office предлагает пользователям целый ряд средств для организации обмена между приложениями. Эти инструменты следует использовать, когда необходимо создать документ, в котором будут размещены элементы разных

Электронный обмен данными

Электронный обмен данными Компании тесно взаимодействуют со своими клиентами и производителями. Для многих крупных компаний эти отношения влекут за собой непосредственную связь между их компьютерными системами. Electronic Data Interchange (EDI) это система, предназначенная для

Ошибки Microsoft Office

Ошибки Microsoft Office Наверняка на вашем компьютере установлена по крайней мере одна программа пакета Microsoft Office. Чаще всего пользователи работают с текстовым редактором Microsoft Word и редактором электронных таблиц Mcrosoft Excel. Если с программой Excel проблем обычно не возникает, то в

Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.

Аннотация

В этой статье обсуждаются многочисленные методы передачи данных в Microsoft Excel из приложения Microsoft Visual Basic. В этой статье также представлены преимущества и недостатки для каждого метода, чтобы вы могли выбрать решение, которое лучше всего работает для вас.

Дополнительные сведения

Наиболее распространенным методом для передачи данных в Excel является автоматизация. Автоматизация обеспечивает наибольшую гибкость для указания расположения данных в книге, а также возможности форматировать книгу и создавать различные параметры во время работы. С помощью автоматизации можно использовать несколько подходов для передачи данных:

  • Перенос ячейки данных по ячейке
  • Передача данных в массиве в диапазон ячеек
  • Передача данных в наборе записей ADO в диапазон ячеек с помощью метода CopyFromRecordset
  • Создание таблицы QueryTable на Excel, которая содержит результат запроса в источнике данных ODBC или OLEDB
  • Передача данных в буфер обмена, а затем вклейка содержимого буфера обмена в Excel таблицу

Существуют также методы, которые можно использовать для передачи данных в Excel, которые не обязательно требуют автоматизации. Если вы работаете на сервере приложений, это может быть хорошим подходом для отвода основной части обработки данных от клиентов. Для передачи данных без автоматизации можно использовать следующие методы:

  • Передача данных в текстовый файл с запятой или запятой, который можно Excel позже разбора в ячейки на таблице
  • Передача данных на таблицу с помощью ADO
  • Передача данных в Excel с помощью динамических Exchange данных (DDE)

В следующих разделах подробно по каждому из этих решений.

Примечание При использовании Microsoft Office Excel 2007 года можно использовать новый формат файла Excel 2007 (*.xlsx) при сохранения книг. Для этого найдите следующую строку кода в следующих примерах кода:

Замените этот код следующей строкой кода:

Кроме того, база данных Northwind не включена в Office 2007 г. по умолчанию. Однако вы можете скачать базу данных Northwind из Microsoft Office Online.

Использование автоматизации для передачи ячейки данных ячейкой

С помощью автоматизации можно передавать данные на одну ячейку одновременно:

Перенос ячейки данных по ячейкам может быть вполне приемлемым подходом, если объем данных невелик. Вы можете разместить данные в любой точке книги и можете условно отформатировать ячейки во время запуска. Однако этот подход не рекомендуется, если у вас есть большой объем данных для передачи в Excel книгу. Каждый объект Range, приобретаемый во время запуска, приводит к запросу интерфейса, чтобы перенос данных таким образом был медленным. Кроме того, microsoft Windows 95 и Windows 98 имеют ограничение в 64K для запросов интерфейса. Если вы достигнете или превысите это ограничение в 64k для запросов интерфейса, сервер автоматизации (Excel) может перестать отвечать или вы можете получить ошибки, указывающие на низкую память.

Еще раз, перенос ячейки данных по ячейкам приемлем только для небольших объемов данных. Если необходимо перенести большие наборы данных в Excel, следует рассмотреть одно из решений, представленных позже.

Дополнительные примеры кода для автоматизации Excel см. в Microsoft Excel Visual Basic.

Автоматизация для передачи массива данных в диапазон на таблице

Массив данных может быть передан сразу нескольким ячейкам:

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

Эта строка представляет два запроса интерфейса (один для объекта Range, возвращаемого методом Range, и другой для объекта Range, возвращаемого методом Resize). С другой стороны, для передачи ячейки данных по ячейке потребуются запросы на 300 интерфейсов в объекты Range. По возможности вы можете получать выгоду от передачи данных оптом и уменьшения количества запросов на интерфейс.

Автоматизация для передачи наборов записей ADO в диапазон таблиц

Excel 2000 г. представлен метод CopyFromRecordset, который позволяет переносить набор записей ADO (или DAO) в диапазон на таблице. В следующем коде показано, как можно автоматизировать Excel 2000, Excel 2002 или Office Excel 2003 г. и передать содержимое таблицы заказов в базе данных образцов Northwind с помощью метода CopyFromRecordset.

Примечание Если вы используете Office 2007 года в базе данных Northwind, необходимо заменить следующую строку кода в примере кода:

Замените эту строку кода следующей строкой кода:

Excel 97 также предоставляет метод CopyFromRecordset, но использовать его можно только с набором записей DAO. CopyFromRecordset с Excel 97 не поддерживает ADO.

Дополнительные сведения об использовании ADO и метода CopyFromRecordset см. в статьи How to transfer data from an ADO recordset to Excel с помощью автоматизации.

Автоматизация для создания queryTable на таблице

Объект QueryTable представляет таблицу, созданную из данных, возвращаемых из внешнего источника данных. При автоматизации Microsoft Excel можно создать queryTable, просто предоставив строку подключения к OLEDB или источнику данных ODBC вместе с SQL строкой. Excel берет на себя ответственность за создание наборов записей и вставку его в таблицу в заявляемом вами расположении. Использование QueryTables предоставляет ряд преимуществ по сравнению с методом CopyFromRecordset:

  • Excel обрабатывает создание наборов записей и его размещение в таблицу.
  • Запрос можно сохранить с помощью QueryTable, чтобы затем обновить его, чтобы получить обновленный набор записей.
  • При добавлении в таблицу нового queryTable можно указать, что данные, уже существующие в ячейках на этом компьютере, будут перенесены для размещения новых данных (подробнее см. свойство RefreshStyle).

В следующем коде показано, как можно автоматизировать Excel 2000, Excel 2002 или Office Excel 2003 г., чтобы создать новый queryTable в Excel таблице с использованием данных из базы данных образцов Northwind:

Использование буфера обмена

Буфер Windows также может использоваться в качестве механизма передачи данных на таблицу. Чтобы вклеить данные в несколько ячеек на таблицу, можно скопировать строку, в которой столбцы делимитированы символами вкладок, а строки делимитированы возвращаемой каретой. В следующем коде показано, как Visual Basic использовать объект Clipboard для передачи данных в Excel:

Создание разнонародных текстовых файлов, Excel можно разрезать на строки и столбцы

Excel могут открывать файлы с запятой или запятой и правильно разбора данных в ячейки. Вы можете воспользоваться этой функцией, если вы хотите передать большой объем данных на таблицу при использовании малого, если таково, автоматизации. Это может быть хорошим подходом для клиентского приложения-сервера, так как текстовый файл может быть создан на стороне сервера. Затем можно открыть текстовый файл на клиенте, используя автоматизацию там, где это необходимо.

В следующем коде показано, как создать текстовый файл с запятой из наборов записей ADO:

Обратите внимание, что Office версии базы данных Northwind 2007 года необходимо заменить следующую строку кода в примере кода:

Замените эту строку кода следующей строкой кода:

Если в текстовом файле есть расширение .CSV, Excel открывает файл без отображения мастера импорта текста и автоматически предполагает, что файл запятой. Аналогично, если в вашем файле .TXT расширение, Excel автоматически разборите файл с помощью делимитеров вкладок.

В предыдущем примере кода Excel был запущен с помощью заявления Shell, а имя файла использовалось в качестве аргумента командной строки. Автоматизация не использовалась в предыдущем примере. Однако при желании можно использовать минимальное количество автоматизации для открытия текстового файла и сохранения его в формате Excel книги:

Передача данных на таблицу с помощью ADO

С помощью поставщика DB Microsoft Jet OLE можно добавить записи в таблицу в существующей Excel книге. "Таблица" в Excel — это просто диапазон с определенным именем. Первая строка диапазона должна содержать заглавные (или имена полей), а все последующие строки содержат записи. Ниже показано, как создать книгу с пустой таблицей MyTable.

Excel 97, Excel 2000 и Excel 2003 г.

Запустите новую книгу в Excel.

Добавьте следующие заглавные таблицы в ячейки A1:B1 листа1:

A1: FirstName B1: LastName

Формат ячейки B1 в виде правой выровненной.

В меню Insert выберите Имена, а затем выберите Определение. Введите имя MyTable и нажмите кнопку ОК.

Сохраните новую книгу как C:\Book1.xls и Excel.

Чтобы добавить записи в MyTable с помощью ADO, можно использовать код, аналогичный следующему:

Excel 2007

В Excel 2007 г. запустите новую книгу.

Добавьте следующие заглавные таблицы в ячейки A1:B1 листа1:

A1: FirstName B1: LastName

Формат ячейки B1 в виде правой выровненной.

На ленте нажмите вкладку Формулы и нажмите кнопку Определить имя. Введите имя MyTable и нажмите кнопку ОК.

Сохраните новую книгу как C:\Book1.xlsx, а затем Excel.

Чтобы добавить записи в таблицу MyTable с помощью ADO, используйте код, похожий на следующий пример кода.

При добавлении записей в таблицу таким образом форматирование в книге сохраняется. В предыдущем примере новые поля, добавленные в столбец B, форматированы с правильным выравниванием. Каждая запись, добавляемая в строку, заимствует формат из строки над ней.

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

Метод обновления данных в Excel таблице с помощью ADO или с помощью DAO не работает в Visual Basic для среды приложения в access после установки Office 2003 Пакет обновления 2 (SP2) или после установки обновления для Access 2002, включенного в статью Microsoft Knowledge Base 904018. Метод хорошо работает в Visual Basic среде приложений из других Office приложений, таких как Word, Excel и Outlook.

Дополнительные сведения см. в следующей статье:

Дополнительные сведения об использовании ADO для доступа к книге Excel см. в книге How To Query and Update Excel Data Using ADO from ASP.

Использование DDE для передачи данных в Excel

DDE является альтернативой автоматизации в качестве средства для общения с Excel и передачи данных; однако с появлением автоматизации и com DDE больше не является предпочтительным методом для общения с другими приложениями и должен использоваться только в том случае, если у вас нет другого решения.

Чтобы передать данные в Excel DDE, вы можете использовать метод LinkPoke для отправки данных в определенный диапазон ячейки или метод LinkExecute для отправки команд, которые Excel будут выполняться.

В следующем примере кода показано, как установить беседу DDE с Excel, чтобы можно было втыкать данные в ячейки на таблицу и выполнять команды. С помощью этого примера для успешного запуска беседы по DDE в linkTopic Excel|MyBook.xls книга с именем MyBook.xls должна уже открываться в запущенном экземпляре Excel.

При использовании Excel 2007 можно использовать новый формат .xlsx для сохранения книг. Убедитесь, что имя файла обновляется в следующем примере кода. В этом примере Text1 представляет собой управление текстовым полем на Visual Basic форме:

При использовании LinkPoke с Excel, вы указываете диапазон в строке-столбце (R1C1) для LinkItem. Если вы подтыкаете данные к нескольким ячейкам, можно использовать строку, в которой столбцы делимитированы вкладками, а строки делимитированы возвращаемой каретой.

При использовании LinkExecute для Excel выполнения команды необходимо Excel команду в синтаксисе Excel макроса (XLM). Документация XLM не включается в Excel версии 97 и более поздней версии.
DDE не рекомендуется для общения с Excel. Автоматизация обеспечивает наибольшую гибкость и предоставляет дополнительный доступ к новым функциям, которые Excel предложить.

Помимо работы с данными Word, приложение может обмениваться данными с другими приложениями, такими как Excel, PowerPoint или Access. Вы можете общаться с другими приложениями с помощью автоматизации (ранее OLE Automation) или динамического обмена данными (DDE).

Автоматизация Word из другого приложения

Автоматизация позволяет возвращать, редактировать и экспортировать данные, ссылаясь на объекты, свойства и методы другого приложения. Объекты приложений, на которые может ссылаться другое приложение, называются объектами автоматизации.

Первым шагом на пути к предоставлению Word другому приложению для автоматизации является ссылка на объект Word Application. В Visual Basic вы используете функцию Visual Basic CreateObject или GetObject, чтобы вернуть ссылку на объект Word Application. Например, в процедуре Excel можно использовать следующие инструкции.

Это инструкция делает объект Application in Word доступным для автоматизации. С помощью объектов, свойств и методов объекта Word Application можно управлять Word. Например, в следующей инструкции создается новый документ Word.

Используйте свойство Видимый, чтобы сделать новый документ видимым после его создания.

Функция CreateObject запускает сеанс Word, который автоматизация не закрывается, когда истекает срок действия объектной переменной, ссылаемой на объект Application. Настройка ссылки объекта на ключевое слово Visual Basic Nothing не закроет Word. Вместо этого используйте метод Quit для закрытия приложения Word. В следующем Excel показан путь запуска Word. Метод Quit используется для закрытия нового экземпляра Word после отображения пути запуска.

Автоматизация другого приложения из Word

Чтобы обмениваться данными с другим приложением с помощью автоматизации из Word, сначала вы получите ссылку на приложение с помощью функции CreateObject или GetObject. Затем, используя объекты, свойства и методы другого приложения, вы добавляете, меняете или удаляете сведения. После внесения изменений закройте приложение. В следующем примере Word отображается путь Excel запуска. Вы можете использовать Visual Basic set с ключевым словом Nothing для очистки переменной объекта, которая имеет тот же эффект, что и закрытие приложения.

Использование динамического обмена данными (DDE)

Заметка о безопасности

Задача Способ
Запуск DDE DDEInitiate
Получение текста из другого приложения DDERequest
Отправка текста в другое приложение DDEPoke
Проведение команды в другом приложении DDEExecute
Закрыть канал DDE DDETerminate
Закрыть все каналы DDE DDETerminateAll

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Передача любой информации между приложениями VBA с использованием буфера обмена

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

Отличительной особенностью VBA является то, что он предоставляет вам так много функций и инструментов. , которые обычно являются частью приложений VB, хотя и в несколько урезанной версии.

Одна из самых неприятных частей работы с VBA в конкретных приложениях заключается в том, что не всегда легко заставить два приложения «общаться» друг с другом. Это потому, что все переменные, которые вы используете, доступны только в рамках самого приложения, а не где-либо еще на компьютере.

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

Еще один подход, который вы можете использовать для очень быстрой передачи информации между приложениями, — это передача данных в буфер обмена, а затем чтение этой информации из другого приложения.

Передача информации с помощью буфера обмена

В этом примере я покажу вам, как передать три фрагмента текстовой информации — значения внутри 3 текстовых полей — непосредственно в электронную таблицу Excel, которую запускает макрос Word.

буфер обмена VBA

Смотри как это просто? Объект данных strClipText — это объект буфера обмена, которым вы можете манипулировать. Во-первых, прочитайте все значения полей в единую строковую переменную, где каждое поле данных будет разделено запятой или любым другим, что вам подходит.

Затем вам нужно будет создать файл Excel, который вы открываете в команде Shell выше. В Excel вы захотите добавить ту же ссылку в «Библиотеку объектов Microsoft Forms 2.0», а затем в функции Workbook.Open () вы можете запустить следующий скрипт.

Опять же, когда вы проходите через это, это простой и очень быстрый скрипт. Он создает объект MSForms, получает самые последние данные из буфера обмена и помещает их в строковую переменную. Затем он разбивает эту единственную длинную строковую переменную по любому разделителю, который вы использовали, на массив отдельных строк, и, наконец, проходит через массив (CountA дает вам длину массива) и выводит каждое значение на лист в столбце 2.

положить текст в буфер обмена VBA

Вот окончательные результаты.

Теперь, проявив немного творческого подхода, вы можете использовать эту технику для запуска любого приложения на основе VBA и вставки в него информации.

Вы всегда можете сделать то же самое, используя справочную библиотеку Excel, но в этом случае вы будете молча открывать файл Excel и манипулировать данными внутри этого файла. В приведенном выше случае вы буквально открываете приложение Excel и отображаете файл, а оставшаяся часть работы позволяет запускать макрос в Excel.

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

Попробуйте приведенные выше сценарии и дайте нам знать, как они работают в вашей системе. Вы должны были настроить это? Есть ли у вас какие-либо предложения о том, как сделать код еще лучше? Поделитесь своими мыслями в разделе комментариев ниже.

Продукты семейства Microsoft Office содержат однотипные панели инструментов, а также целый набор инструментов, общих для всех приложений (механизмы проверки правописания, средство для рисования, редактор диаграмм, библиотека клипартов, рисунков и т.д.).

Поэтому, научившись работе с одним из приложений, пользователи могут легко освоить другие составляющие пакета.

Следует отметить, что пользователям, имеющим подключение к Интернету, доступна не только часть ресурсов Microsoft Office, которая установлена на локальном диске ПК, а также та часть, которая расположена в Сети. Пользователь, подключенный к Интернету, имеет возможность непосредственно из MS Office обратиться к дополнительным сервисам, шаблонам, клипартам 5 Клипарты - это изображения-заготовки, которые используются как композиционные объекты. Выбирая клипарты из библиотеки (где они собраны по тематике), из клипартов можно создавать композиции путем их редактирования и объединения. и т.п. (рис. 2.6).

Пользователь, подключенный к Сети, имеет возможность непосредственно из MS Office обратиться к дополнительным сервисам


Рис. 2.6. Пользователь, подключенный к Сети, имеет возможность непосредственно из MS Office обратиться к дополнительным сервисам

Все приложения Microsoft Office обеспечивают обмен данными между отдельными приложениями. Любое приложение пакета позволяет поместить в документ (будь то текст, электронная таблица, презентация или база данных) рисунок, видеофрагмент или звуковой ролик. Работая в сетевых операционных системах , приложения семейства Microsoft Office поддерживают совместную групповую работу над общими документами, расположенными не только на локальном диске рабочей станции, но и на соседнем компьютере или на сервере сети. Электронной таблицей Microsoft Excel 2003 или базой данных Microsoft Access могут одновременно пользоваться несколько человек. Microsoft Word позволяет создавать документ, над разными частями которого могут одновременно работать разные исполнители.

За счет интеграции приложений Microsoft Office пользователи пакета могут создавать весьма сложные составные документы, содержащие данные из различных приложений. Способ обмена данными между приложениями Microsoft Office (механизм связывания и внедрения объектов) предоставляет пользователю возможность вставлять в документ, созданный в одном приложении, фрагменты, созданные в других приложениях.

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

Это позволяет редактировать объект средствами создавшего его приложения. Объекты могут представлять собой рисунок, текст, диаграмму, интервал ячеек, звуковой файл или даже видеоклип. Например, в документ Word может быть внедрена диаграмма Excel, слайд презентации PowerPoint или выборка из базы данных (рис. 2.7).

Схема формирования составного документа


Рис. 2.7. Схема формирования составного документа

Механизм связывания оригинального объекта и его копии обеспечивает эффективную работу с составными документами, в которых используются различные источники. В частности, можно настроить режим, при котором данные, помещенные в Word-документ из таблицы Excel, будут обновляться автоматически в составном документе при обновлении источника - таблицы Excel.

Продуктами Microsoft Office пользуются миллионы людей во всем мире. Для того чтобы разрабатывать столь массовое программное обеспечение, необходимо четко представлять себе нужды, ограничения и уровень способностей среднестатистического пользователя. С целью совершенствования разрабатываемых продуктов в Microsoft еще в 1988 году было создано специальное подразделение, Microsoft Usability Group - группа, занимающаяся выявлением и анализом проблем, с которыми сталкиваются рядовые пользователи программного продукта.

Английский термин usability обычно переводится как "удобство, простота использования, пригодность к эксплуатации". Однако все эти переводы не исчерпывают понятия. Уровень usability абстрактной системы определяется целым рядом параметров:

  • простотой обучения;
  • эффективностью использования;
  • запоминаемостью;
  • частотой и серьезностью ошибок;
  • комфортом работы с системой.

В силу отсутствия аналогичного термина в русском языке часто используется калька с английского "юзабилити".

  • Выполняет ли продукт свои функции в соответствии с ожиданиями пользователя?
  • Могут ли пользователи выполнять свои задачи с помощью продукта?
  • Насколько удобно работать с продуктом?

Каждая лаборатория имеет две секции: зал наблюдателей и зал участников. Из зоны наблюдения видно все, что происходит с тестируемым. Одностороннее зеркало позволяет наблюдать за тестируемым, не

отвлекая его от выполнения задания. У инженеров лаборатории имеется оборудование, которое фиксирует все действия испытуемого.

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

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

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

Анализ программного окружения и задач конкретного пользователя позволяет лучше понять те ожидания, которые пользователи связывают с новыми версиями продуктов.

Этот прием широко используется на практике. Например, очень удобно подготовить отчет в Word, который будет содержать данные о продажах на текущий день. В Word-документ помещается соответствующий раздел электронной таблицы Excel, который оперативно обновляется отделом продаж. Связи между таблицей и отчетом позволяют при каждом изменении электронной таблицы обновлять отчет.

Приложения Microsoft Office могут взаимодействовать и с приложениями, не входящими в пакет, в том числе других производителей. Например, встроенные средства экспорта/импорта позволяют обрабатывать документы, подготовленные в форматах других программ. В частности, Excel позволяет загружать и обрабатывать документы в форматах других табличных процессоров.

И наконец, внутрь документа MS Office могут быть вставлены гиперссылки на любые документы.

Хотя приложения Microsoft Office имеют очень широкий набор функций, очевидно, что никакой программный продукт не может удовлетворить все специфические запросы разных категорий пользователей. Поэтому в приложения пакета Microsoft Office встроен универсальный инструмент для создания собственных приложений VBA (аббревиатура от Visual Basic for Applications, что означает "Visual Basic для приложений"). VBA - это язык программирования, встроенный в целый ряд программ, в том числе в приложения Microsoft Office.

Читайте также: