Vba как подключить библиотеку word

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.

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

Excel 2016 for Mac Word 2016 for Mac PowerPoint for Mac Excel for Mac 2011 Word for Mac 2011 PowerPoint for Mac 2011 More…Less

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.

  1. On the Tools menu, click References.

    Preferences selection on Tools menu

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

    Available references dialog

    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.

  3. 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.

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

  5. Browse for an object

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

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

  3. Click Save and then close Excel Preferences.

Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.

Создание нового экземпляра приложения Word из кода VBA Excel или подключение к открытому для работы с документами. Функции CreateObject и GetObject.

Работа с Word из кода VBA Excel
Часть 1. Управление приложением Word
[Часть 1] [Часть 2] [Часть 3] [Часть 4] [Часть 5] [Часть 6]

Создание объекта Word.Application

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

Создать новый экземпляр объекта Word.Application можно при помощи раннего или позднего связывания, используя при позднем связывании функцию CreateObject. Подключиться к открытому экземпляру приложения Word можно только при помощи позднего связывания, используя функцию GetObject.

Раннее связывание приложения Word

Создание нового экземпляра Word.Application и присвоение ссылки на него переменной myWord:

‘Создание экземпляра приложения Word

‘с ранней привязкой одной строкой

Dim myWord As New Word.Application

‘Создание экземпляра приложения Word

‘с ранней привязкой двумя строками

Dim myWord As Word.Application

Set myWord = New Word.Application

Для раннего связывания переменной с объектом Word.Application необходимо подключить в редакторе VBA Excel ссылку на библиотеку Microsoft Word Object Library, если она не подключена. Подключается ссылка в окне «References VBAproject», перейти в которое можно через главное меню редактора: Tools–>References…

Раннее связывание позволяет при написании кода использовать лист подсказок для выбора и вставки свойств и методов привязанных объектов (Auto List Members). Если проект VBA Excel создается на заказ, то, после его завершения, раннее связывание следует заменить на позднее, так как на компьютере пользователя может не оказаться нужной библиотеки, и код работать не будет.

Позднее связывание приложения Word

Создание нового экземпляра Word.Application с помощью функции CreateObject и присвоение ссылки на него переменной myWord:

Dim myWord As Object

Set myWord = CreateObject(«Word.Application»)

Присвоение переменной myWord ссылки на открытый экземпляр приложения Word с помощью функции GetObject:

Dim myWord As Object

Set myWord = GetObject(, «Word.Application»)

Если открытого приложения Word нет, выполнение функции GetObject приведет к ошибке. Чтобы ее избежать, следует предусмотреть создание нового экземпляра Word.Application с помощью функции CreateObject, если открытое приложение не будет найдено (смотрите пример 3).

В программы VBA Excel, работающие с Word, следует включать обработчик ошибок.

Закрытие объекта Word.Application

Новый экземпляр приложения Word открывается в фоновом режиме. Если необходимо его отобразить на экране перед завершением программы, используйте следующий код:

‘отображаем приложение Word

myWord.Visible = True

‘освобождаем переменную от ссылки

Set myWord = Nothing

Если перед завершением процедуры VBA Excel необходимо приложение Word закрыть, используйте метод Quit:

‘закрываем приложение Word

myWord.Quit

‘освобождаем переменную от ссылки

Set myWord = Nothing

Если переменная не содержит ссылку на приложение (myWord = Nothing), метод Quit возвратит ошибку. Чтобы этого не произошло, перед применением метода Quit необходимо проверить наличие ссылки в переменной myWord (смотрите пример 3).

Пример 1
Создаем новый экземпляр объекта Word.Application с ранним связыванием и отображаем его на экране:

Sub Primer1()

Dim myWord As New Word.Application

‘———-

‘блок операторов для создания, открытия

‘и редактирования документов Word

‘———-

myWord.Visible = True

Set myWord = Nothing

End Sub

Запустите код примера 1 на выполнение. Вы увидите появившийся на панели задач ярлык приложения Word. Перейдите на него и закройте приложение вручную.

Пример 2
Создаем новый экземпляр объекта Word.Application с поздним связыванием, отображаем его на экране, останавливаем программу и наблюдаем закрытие приложения методом Quit:

Sub Primer2()

Dim myWord As Object

Set myWord = CreateObject(«Word.Application»)

‘———-

‘блок операторов для создания, открытия

‘и редактирования документов Word

‘———-

myWord.Visible = True

MsgBox «Остановка программы»

myWord.Quit

Set myWord = Nothing

End Sub

Запустите код примера 2 на выполнение. Закройте информационное окно MsgBox и смотрите, как исчезнет с панели задач ярлык приложения Word, созданного перед остановкой кода.

Пример 3
Пытаемся создать ссылку на открытый экземпляр приложения Word с помощью функции GetObject, а если открытого экземпляра нет, создаем новый с помощью функции CreateObject:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

Sub Primer3()

Dim myWord As Object

On Error Resume Next

Set myWord = GetObject(, «Word.Application»)

  If myWord Is Nothing Then

    Set myWord = CreateObject(«Word.Application»)

  End If

On Error GoTo Instr

‘———-

‘блок операторов для создания, открытия

‘и редактирования документов Word

‘———-

myWord.Visible = True

Set myWord = Nothing

Exit Sub

Instr:

  If Err.Description <> «» Then

    MsgBox «Произошла ошибка: « & Err.Description

  End If

  If Not myWord Is Nothing Then

    myWord.Quit

    Set myWord = Nothing

  End If

End Sub

Строка On Error Resume Next передаст управление следующему оператору, если открытого экземпляра программы Word не существует, и выполнение функции GetObject приведет к ошибке. В этом случае будет создан новый экземпляр Word.Application с помощью функции CreateObject.

В код добавлен обработчик ошибок On Error GoTo Instr, который поможет корректно завершить программу при возникновении ошибки. А также он позволит во время тестирования не наплодить большое количество ненужных экземпляров приложения Word. Проверяйте их наличие по Диспетчеру задач (Ctrl+Shift+Esc) и удаляйте лишние.

Строка Exit Sub завершит процедуру, если она прошла без ошибок. В случае возникновения ошибки, будет выполнен код после метки Instr:.

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

В 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. Vba excel как подключить библиотеку word
  2. Добавление ссылки на библиотеку типов
  3. См. также
  4. Поддержка и обратная связь
  5. Проверка или добавление ссылки на библиотеку объектов
  6. Узнайте, предоставляет ли приложение библиотеку объектов
  7. Добавление ссылки на библиотеку объектов в проект
  8. См. также
  9. Поддержка и обратная связь
  10. VBA Excel. Управление приложением Word
  11. Создание объекта Word.Application
  12. Раннее связывание приложения Word
  13. Добавление библиотек объектов в проект Visual Basic
  14. Добавление объекта

Vba excel как подключить библиотеку word

…у меня ранее связывание

Dim myWord As Word.Application
.
Set myWord = GetObject(, «Word.Application»)
.

Спасибо за наводку, но

ThisWorkbook.VBProject.References.A ddFromFile Application.Path & Application.PathSeparator & «MSWORD.OLB»

к сожалению не работает, ошибка

Может ещё будут варианты, буду рада

ThisWorkbook.VBProject.References.A ddFromFile Application.Path & Application.PathSeparator & «MSWORD.OLB»

к сожалению не работает, ошибка

Библиотека существует и путь находит правильно

C:Program FilesMicrosoft OfficeOffice12MSWORD.OLB

Ошибка — Application-defined or object-defined error

Источник

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

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

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

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

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

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

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

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

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

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

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

См. также

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

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

Источник

Проверка или добавление ссылки на библиотеку объектов

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

Узнайте, предоставляет ли приложение библиотеку объектов

В меню Сервис выберите пункт Ссылки, чтобы открыть диалоговое окно Ссылки.

В диалоговом окне Ссылки отображаются все библиотеки объектов, зарегистрированные в операционной системе. Прокрутите список для приложения, на библиотеку объектов которого хотите сослаться. Если приложение отсутствует в списке, можно воспользоваться кнопкой Обзор, чтобы выполнить поиск библиотек объектов (*.olb и *.tlb) или исполняемых файлов (*.exe и *.dll в Windows). В проекте используются ссылки, флажки которых установлены; ссылки без установленных флажков не используются, но могут быть добавлены.

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

Выберите ссылку на библиотеку объектов в поле Доступные ссылки в диалоговом окне Ссылки и нажмите кнопку ОК. Теперь проект Visual Basic содержит ссылку на библиотеку объектов приложения. Если открыть обозреватель объектов (нажав клавишу F2) и выбрать библиотеку приложения, в ней отобразятся объекты, предоставляемые выбранной библиотекой объектов, а также методы и свойства каждого объекта.

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

См. также

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

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

Источник

VBA Excel. Управление приложением Word

Создание нового экземпляра приложения Word из кода VBA Excel или подключение к открытому для работы с документами. Функции CreateObject и GetObject.

Работа с Word из кода VBA Excel
Часть 1. Управление приложением Word
[Часть 1] [Часть 2] [Часть 3] [Часть 4] [Часть 5] [Часть 6]

Создание объекта Word.Application

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

Создать новый экземпляр объекта Word.Application можно при помощи раннего или позднего связывания, используя при позднем связывании функцию CreateObject. Подключиться к открытому экземпляру приложения Word можно только при помощи позднего связывания, используя функцию GetObject.

Раннее связывание приложения Word

Создание нового экземпляра Word.Application и присвоение ссылки на него переменной myWord:

Для раннего связывания переменной с объектом Word.Application необходимо подключить в редакторе VBA Excel ссылку на библиотеку Microsoft Word Object Library, если она не подключена. Подключается ссылка в окне «References VBAproject», перейти в которое можно через главное меню редактора: Tools–>References…

Раннее связывание позволяет при написании кода использовать лист подсказок для выбора и вставки свойств и методов привязанных объектов (Auto List Members). Если проект VBA Excel создается на заказ, то, после его завершения, раннее связывание следует заменить на позднее, так как на компьютере пользователя может не оказаться нужной библиотеки, и код работать не будет.

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Like this post? Please share to your friends:
  • Vba как открыть файл по пути excel
  • Vba как открыть файл excel с макросом
  • Vba для excel функция поиск
  • Vba для word если ошибка
  • Vba для excel фильтр