Excel vba как подключить библиотеку

Excel 2016 для Mac Word 2016 для Mac PowerPoint для Mac Excel для Mac 2011 Word для Mac 2011 PowerPoint для Mac 2011 Еще…Меньше

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

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

Добавление объекта

На вкладке «Разработчик» откройте окно проекта Visual Basic. Увидеть вкладки «разработчик» отображается ниже, если она еще не открыта.

  1. В меню Сервис выберите пункт Ссылки.

    Выбор параметров меню '' Сервис ''

  2. В разделе Доступные ссылки установите флажок для библиотеки объектов, которую требуется задействовать в вашем проекте Visual Basic.

    Диалоговое окно доступные ссылки

    Примечание: Чтобы ускорить компиляцию, снимите флажки для библиотек объектов, которые не будут использоваться в проекте.

  3. Чтобы задать порядок доступа к библиотекам объектов, в разделе Доступные ссылки выберите любую библиотеку и переместите ее вверх или вниз с помощью кнопок приоритета.

  4. Чтобы добавить в раздел Доступные ссылки другую библиотеку, нажмите кнопку Обзор и укажите путь к необходимому файлу.

  5. Найдите объект

  1. На верхней панели выберите Excel > настройки > панель инструментов и ленты.

  2. В разделе Настройка ленты выберите Основные вкладки и установите флажок Разработчик.

  3. Нажмите кнопку Сохранить и закройте Параметров Excel.

Нужна дополнительная помощь?


Libraries add pre-defined code structures (such as functions, subroutines among others) in a simple and easy way.

In the VBA context, a library usually allows access to new objects and functions.


Standard Libraries

Libraries that are enabled by default when opening Excel:

Standard Libraries

  1. Excel – This is a collection of classes available in Excel, allowing you to work with worksheets objects E.g. workbooks, spreadsheets, ranges, etc…
  2. Office – It is a generic class collection for all Office suite applications, allowing you to work with Office objects in general E.g. command bar, help, etc…
  3. stdole – It is the standard collection of the OLE class, it allows exchange of information between applications
  4. VBA – It is the class collection that allows functions to be used E.g. MsgBox, InputBox, string functions, etc…
  5. VBAProject – It is the local collection for the active workbook, (E.g. spreadsheets, users, etc…)

Class: is what defines the structure of a given object (E.g. for class Range we have objects like Range(«A1»), Range(«C2:B5»), and so on).


Enabling Libraries

To access, enable and disable libraries in VBA:

  1. In Excel, open the VBE (Alt+F11)
  2. On the Menu Bar, click Tools
  3. Select References… (the References – VBAProject dialog box will be displayed)
  4. Select the desired libraries
  5. Click OK

Enabling Libraries

To add a library that is not in the list, use the button and select the file of the new library.

Enabling additional libraries allows you to develop codes that communicate with other applications and processes. E.g. Word, Outlook, DAO (Data Access Objects), ADOdb (Active Data Objects database), etc…

When we refer to a library in the code but forget to enable it, the following error message is displayed:

Librarie Not Defined


Object Browser

The Object Browser allows you to view the list of all the different objects, methods, and properties of the enabled libraries.

To search the libraries:

  1. Click on the Object Browser icon on the toolbar ()
  2. Select the library you want to view on the dropdown menu
  3. Navigate the library

Object Browser

When in doubt, the Microsoft Help button () can elucidate the utility of the selected element.


VBA Early Binding vs Late Binding

You can use structures from a library without enabling it. This procedure is called Late Binding.

Dim OutApp As Object
Set OutApp = CreateObject("Outlook.Application")

Usually for the Late Binding a variable is declared as an object and later associated with CreateObject.

When we enable a library to access its structures we are performing what is called Early Binding.

Dim OutApp As New Outlook.Application

In the example case the Outlook library was enabled ().


Early & Late Binding Differences

Early: From the point of view of code development and performance time, Early Binding is more suitable because it allows you to use Excel intellisense ( + ) as well as the library object browser.

Late: Regarding compatibility errors, mainly due to the use of different versions of Excel (which changes the version of the libraries), Late Binding is more indicated.

Intellisense: is an aid, mainly to autocomplete the code, with useful information ( + ).

Intellisense

So, to gain practice with the libraries, try to write the code with Early Binding and later change it into Late Binding.



SuperExcelVBA.com is learning website. Examples might be simplified to improve reading and basic understanding. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. All Rights Reserved.

Excel ® is a registered trademark of the Microsoft Corporation.

© 2023 SuperExcelVBA | ABOUT

Protected by Copyscape

Перейти к содержимому

В VBA есть много интересных библиотек позволяющих работать с объектом FSO, словарями, регулярными выражениями, объектами MS Office, а также много другое.

Можно и обойтись без их подключения и использовать конструкцию CreateObject(«»), но есть два маленьких нюанса

  1. Вы теряете чуть-чуть в производительности. Я, если честно, не до конца понимаю как так, но факт есть факт. С подключенной библиотекой, на коротких примерах ускорение в 2 раза — с 0,1 сек до 0,05 сек
  2. Вы теряете подсказки в среде VBE. Для кода, который вы отдали в использование — это нормально, но для себя любимых включение может быть лишним действием (опять же вы можете в какой-то момент забыть какую библиотеку включали)

Итак, проблематика ясна. Как бороться? В три этапа.

Первый этап — макросам должен быть предоставлен доступ к объектной модели VBA. Само собой вы при этом берете на себя риски — ведь при этом макросы могут удалить все и вся.

Файл ->
Параметры ->
Центр Управления Безопасностью ->
Параметры центра управления безопасностью ->
Параметры макросов ->
Включить галочку «Предоставлять доступ к объектной модели проектов VBA»

options

Второй этап — посмотреть GUID код соответствующей библиотеки, которую будете проверять/включать программным способом. Для этого в VBE перейдите в меню и включите галочку напротив библиотеки.

Tools -> References

Ref.png

Ну и третий этап — сам макрос. Верхняя часть выводит в окно Immediate Window все библиотеки, проверяет включена ли библиотека. Ну а строчка .AddFromGuid производит подключение

Sub ref_check()

Dim i As Integer

With ThisWorkbook.VBProject.References
  For i = 1 To .Count
    Debug.Print .item(i).GUID, .item(i).Description, .item(i).Major, .item(i).Minor
    If .item(i).GUID = "{420B2830-E718-11CF-893D-00A0C9054228}" Then
      Exit Sub
    End If
  Next i
  'Microsoft scripting
  .AddFromGuid "{420B2830-E718-11CF-893D-00A0C9054228}", 1, 0
End With

End Sub


Содержание

  1. Check or add an object library reference
  2. See if an application provides an object library
  3. Add an object library reference to your project
  4. See also
  5. Support and feedback
  6. Add object libraries to your Visual Basic project
  7. Add an object
  8. Добавление ссылки на библиотеку типов
  9. См. также
  10. Поддержка и обратная связь
  11. Эффективная работа в MS Office
  12. Экономия 5 минут в час за счет более продуктивной работы дает за год экономию в 4 рабочие недели
  13. Как подключить библиотеку в VBA?
  14. Добавление библиотек объектов в проект Visual Basic
  15. Добавление объекта

Check or add an object library reference

If you use the objects in other applications as part of your Visual Basic application, you may want to establish a reference to the object libraries of those applications. Before you can do that, you must first be sure that the application provides an object library.

See if an application provides an object library

From the Tools menu, choose References to display the References dialog box.

The References dialog box shows all object libraries registered with the operating system. Scroll through the list for the application whose object library you want to reference. If the application isn’t listed, you can use the Browse button to search for object libraries (*.olb and *.tlb) or executable files (*.exe and *.dll on Windows). References whose check boxes are selected are used by your project; those that aren’t selected are not used, but can be added.

Add an object library reference to your project

Select the object library reference in the Available References box in the References dialog box and choose OK. Your Visual Basic project now has a reference to the application’s object library. If you open the Object Browser (press F2) and select the application’s library, it displays the objects provided by the selected object library, as well as each object’s methods and properties.

In the Object Browser, you can select a class in the Classes box and select a method or property in the Members box. Use copy and paste to add the syntax to your code.

See also

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Источник

Add object libraries to your Visual Basic project

You can select another application’s objects that you want available in your code by setting a reference to that application’s object library.

Add an object

From the Developer tab, open a Visual Basic project window. See Make the Developer tab visible below if it’s not open.

On the Tools menu, click References.

Under Available References, select the check box for the object library that you want available in your Visual Basic project.

Note: You should clear the check box for the object libraries that you do not want in your Visual Basic project to reduce the time it takes to compile.

To set the order in which the object libraries are accessed, under Available References, select the object library, and then click the Priority buttons to move the object library up or down.

To add other object libraries to Available References, click Browse, and then find the object library that you want.

On the top bar, select Excel > Preferences > Ribbon & Toolbar.

Under Customize the Ribbon, select Main Tabs and then check Developer.

Click Save and then close Excel Preferences.

Источник

Добавление ссылки на библиотеку типов

Автоматизация (прежнее название OLE-автоматизация) позволяет использовать объекты из других приложений в коде Visual Basic. Приложение, которое предоставляет свои объекты для использования другими приложения, также предоставляет сведения об этих объектах в библиотеке типов. Для обеспечения лучшей производительности при использовании объектов другого приложения следует задать ссылку на библиотеку типов этого приложения.

Задание ссылки на библиотеку типов приложения

Выберите Ссылки в меню Сервис .

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

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

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

Следующий код является самым быстрым способом создания переменной для представления объекта Приложения Excel.

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

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

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

См. также

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

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

Источник

Эффективная работа в MS Office

Экономия 5 минут в час за счет более продуктивной работы дает за год экономию в 4 рабочие недели

Как подключить библиотеку в VBA?

В VBA есть много интересных библиотек позволяющих работать с объектом FSO, словарями, регулярными выражениями, объектами MS Office, а также много другое.

Можно и обойтись без их подключения и использовать конструкцию CreateObject(«»), но есть два маленьких нюанса

    Вы теряете чуть-чуть в производительности. Я, если честно, не до конца понимаю как так, но факт есть факт. С подключенной библиотекой, на коротких примерах ускорение в 2 раза — с 0,1 сек до 0,05 сек

Вы теряете подсказки в среде VBE. Для кода, который вы отдали в использование — это нормально, но для себя любимых включение может быть лишним действием (опять же вы можете в какой-то момент забыть какую библиотеку включали)

Итак, проблематика ясна. Как бороться? В три этапа.

Первый этап — макросам должен быть предоставлен доступ к объектной модели VBA. Само собой вы при этом берете на себя риски — ведь при этом макросы могут удалить все и вся.

Файл ->
Параметры ->
Центр Управления Безопасностью ->
Параметры центра управления безопасностью ->
Параметры макросов ->
Включить галочку «Предоставлять доступ к объектной модели проектов VBA»

Второй этап — посмотреть GUID код соответствующей библиотеки, которую будете проверять/включать программным способом. Для этого в VBE перейдите в меню и включите галочку напротив библиотеки.

Ну и третий этап — сам макрос. Верхняя часть выводит в окно Immediate Window все библиотеки, проверяет включена ли библиотека. Ну а строчка .AddFromGuid производит подключение

Источник

Добавление библиотек объектов в проект Visual Basic

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

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

Добавление объекта

На вкладке «Разработчик» откройте окно проекта Visual Basic. Увидеть вкладки «разработчик» отображается ниже, если она еще не открыта.

В меню Сервис выберите пункт Ссылки.

В разделе Доступные ссылки установите флажок для библиотеки объектов, которую требуется задействовать в вашем проекте Visual Basic.

Примечание: Чтобы ускорить компиляцию, снимите флажки для библиотек объектов, которые не будут использоваться в проекте.

Чтобы задать порядок доступа к библиотекам объектов, в разделе Доступные ссылки выберите любую библиотеку и переместите ее вверх или вниз с помощью кнопок приоритета.

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

На верхней панели выберите Excel > настройки > панель инструментов и ленты.

В разделе Настройка ленты выберите Основные вкладки и установите флажок Разработчик.

Нажмите кнопку Сохранить и закройте Параметров Excel.

Источник

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

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

Добавление объекта

На вкладке «Разработчик» откройте окно проекта Visual Basic. Увидеть вкладки «разработчик» отображается ниже, если она еще не открыта.

В меню Сервис выберите пункт Ссылки.

В разделе Доступные ссылки установите флажок для библиотеки объектов, которую требуется задействовать в вашем проекте Visual Basic.

Примечание: Чтобы ускорить компиляцию, снимите флажки для библиотек объектов, которые не будут использоваться в проекте.

Чтобы задать порядок доступа к библиотекам объектов, в разделе Доступные ссылки выберите любую библиотеку и переместите ее вверх или вниз с помощью кнопок приоритета.

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

На верхней панели выберите Excel > настройки > панель инструментов и ленты.

В разделе Настройка ленты выберите Основные вкладки и установите флажок Разработчик.

Нажмите кнопку Сохранить и закройте Параметров Excel.

Если как часть приложения Visual Basic используются объекты в других приложениях, может возникнуть необходимость в установке ссылки на библиотеки объектов этих приложений. If you use the objects in other applications as part of your Visual Basic application, you may want to establish a reference to the object libraries of those applications. Прежде чем это можно будет сделать, следует убедиться, что приложение предоставляет библиотеку объектов. Before you can do that, you must first be sure that the application provides an object library.

Чтобы узнать, предоставляет ли приложение библиотеку объектов To see if an application provides an object library

В меню Сервис выберите пункт Ссылки, чтобы открыть диалоговое окно Ссылки. From the Tools menu, choose References to display the References dialog box.

В диалоговом окне Ссылки отображаются все библиотеки объектов, зарегистрированные в операционной системе. The References dialog box shows all object libraries registered with the operating system. Прокрутите список для приложения, на библиотеку объектов которого хотите сослаться. Scroll through the list for the application whose object library you want to reference. Если приложение отсутствует в списке, можно воспользоваться кнопкой Обзор, чтобы выполнить поиск библиотек объектов (*.olb и *.tlb) или исполняемых файлов (*.exe и *.dll в Windows). If the application isn’t listed, you can use the Browse button to search for object libraries (*.olb and *.tlb) or executable files (*.exe and *.dll on Windows). В проекте используются ссылки, флажки которых установлены; ссылки без установленных флажков не используются, но могут быть добавлены. References whose check boxes are selected are used by your project; those that aren’t selected are not used, but can be added.

Чтобы добавить в проект ссылку на библиотеку объектов To add an object library reference to your project

Выберите ссылку на библиотеку объектов в поле Доступные ссылки в диалоговом окне Ссылки и нажмите кнопку ОК. Select the object library reference in the Available References box in the References dialog box and choose OK. Теперь проект Visual Basic содержит ссылку на библиотеку объектов приложения. Your Visual Basic project now has a reference to the application’s object library. Если открыть обозреватель объектов (нажав клавишу F2) и выбрать библиотеку приложения, в ней отобразятся объекты, предоставляемые выбранной библиотекой объектов, а также методы и свойства каждого объекта. If you open the Object Browser (press F2) and select the application’s library, it displays the objects provided by the selected object library, as well as each object’s methods and properties.

В обозревателе объектов можно выбрать класс в поле Классы и выбрать метод или свойство в поле Компоненты. In the Object Browser, you can select a class in the Classes box and select a method or property in the Members box. Для добавления синтаксиса в программный код используйте команды копирования и вставки. Use copy and paste to add the syntax to your code.

См. также See also

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

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь. Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Экономия 5 минут в час за счет более продуктивной работы дает за год экономию в 4 рабочие недели

Как подключить библиотеку в VBA?

В VBA есть много интересных библиотек позволяющих работать с объектом FSO, словарями, регулярными выражениями, объектами MS Office, а также много другое.

Можно и обойтись без их подключения и использовать конструкцию CreateObject(«»), но есть два маленьких нюанса

    Вы теряете чуть-чуть в производительности. Я, если честно, не до конца понимаю как так, но факт есть факт. С подключенной библиотекой, на коротких примерах ускорение в 2 раза — с 0,1 сек до 0,05 сек

Вы теряете подсказки в среде VBE. Для кода, который вы отдали в использование — это нормально, но для себя любимых включение может быть лишним действием (опять же вы можете в какой-то момент забыть какую библиотеку включали)

Итак, проблематика ясна. Как бороться? В три этапа.

Первый этап — макросам должен быть предоставлен доступ к объектной модели VBA. Само собой вы при этом берете на себя риски — ведь при этом макросы могут удалить все и вся.

Файл ->
Параметры ->
Центр Управления Безопасностью ->
Параметры центра управления безопасностью ->
Параметры макросов ->
Включить галочку «Предоставлять доступ к объектной модели проектов VBA»

Второй этап — посмотреть GUID код соответствующей библиотеки, которую будете проверять/включать программным способом. Для этого в VBE перейдите в меню и включите галочку напротив библиотеки.

Ну и третий этап — сам макрос. Верхняя часть выводит в окно Immediate Window все библиотеки, проверяет включена ли библиотека. Ну а строчка .AddFromGuid производит подключение

Понравилась статья? Поделить с друзьями:
  • Excel vba как очистить коллекцию
  • Excel vba как очистить диапазон ячеек
  • Excel vba как отследить изменения в ячейке
  • Excel vba как отобразить все скрытые строки в excel
  • Excel vba как открыть файл только для чтения