Foreversoft.ru

IT Справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

Подключение библиотек скриптом

Windows server 2016
Excell 13

Нужно в коде прописать подключение библиотеки XML 3.0

Сейчас код такой

Visual Basic

при первом же использовании — ошибка
User-defined type not defined

Пробовал вариант:
ActiveWorkbook.VBProject.References.AddFromGuid _
««, 2, 6

И
ActiveWorkbook.VBProject.References.AddFromGuid «<000204EF-0000-0000-C000-000000000046>«, 2, 6
ActiveWorkbook.VBProject.References.AddFromGuid «<00020813-0000-0000-C000-000000000046>«, 2, 6
ActiveWorkbook.VBProject.References.AddFromGuid «<00020430-0000-0000-C000-000000000046>«, 2, 6
ActiveWorkbook.VBProject.References.AddFromGuid «<2DF8D04C-5BFA-101B-BDE5-00AA0044DE52>«, 2, 6
ActiveWorkbook.VBProject.References.AddFromGuid ««, 2, 6

На них сразу ругался

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

Visual Basic
26.12.2018, 14:45

Динамическое подключение/отключение библиотек в Excel
Привет. Подскажите, кто может: там в меню Tools — Reference можно подключить/отключить библиотеки.

References и автоматическое подключение библиотек на поздних версиях MS Office
Уважаемые программисты. Хотел бы разобраться что к чему. Есть программка (то есть макрос) на.

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

26.12.2018, 15:012
Visual Basic
26.12.2018, 16:313
Visual Basic
26.12.2018, 16:56 [ТС]4
09.01.2019, 13:33 [ТС]5
09.01.2019, 13:33
09.01.2019, 13:33

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

Подключение библиотек
Пишу программу в Windows Form, возникла такая проблема: есть главный файл: #include «stdafx.h».

Подключение библиотек
c:documents and settingsadminрабочий столcompressed_matrixcompressed_matrixmain.cpp(4) .

Подключение библиотек
Здравствуйте! Проблема: не могу подключить новые библиотеки! Имею VS 2010 Ultimate ! кликаю.

Подключение библиотек
Доброго времени суток %username% . Изучаю С++ не очень долго и возник такой вопрос. Необходимо.

Знакомство с программированием в Excel

Добавление на ленту вкладки разработчика

Написание кода Ваших процедур и редактирование макросов производится в редакторе Visual Basic, который доступен с вкладки «Разработчик». Данная вкладка по умолчанию скрыта. Для ее отображения необходимо выполнить следующие действия:

Для Excel 2007. Зайдите в параметры Excel, используя кнопку Office, и в «основных параметрах работы с Excel» установите галочку на пункте «Показывать вкладку Разработчик на ленте».

Для Excel 2010 и 2013. В параметрах Excel нужно выбрать пункт «Настроить ленту» и в категории основные вкладки установить галочку для вкладки «Разработчик».

Знакомство с редактором Visual Basic в Excel

Чтобы попасть в редактор кода, кликните на вкладке разработчика в области «Код» по кнопке «Visual Basic».

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

№1 на изображении. Кнопка сохранить. Сохраняет текущую книгу Excel. Необходимо быть внимательнее при работе с несколькими книгами, так как текущей считается та, которая выделена в окне проектов (№3 на изображении).

№2 на изображении. Кнопки запуска, остановки и прерывания выполнения кода. Во время запуска начинает выполняться код той процедуры, на которой размещен курсор. Данные кнопки дублируются вкладкой «Run» основного меню редактора.

№3 на изображении. Окно управления проектами VBA открытых книг (Project Explorer) и кнопка, отображающая это окно.

№4 на изображении. Кнопка, отображающая окно свойств объектов (Properties Window), выбранных в окне №3, и элементов пользовательских форм (работа с объектами, их свойствами и методами будет рассмотрена в отдельной статье этой категории).

№5 на изображении. Кнопка вызова окна объектов (Object Browser). В нем описаны все доступные для работы объекты, их свойства и методы.

Кнопки №3, №4 и №5 так же доступны на вкладке «View» главного меню редактора. Там же можно вызвать другие полезные для работы окна, которые не будут рассмотрены в этом материале.

Написание простой процедуры на Visual Basic for Application

Код любой процедуры (подпрограммы) располагается в модуле, поэтому необходимо его добавить, чтобы приступить к программированию. Выберите пункт «Module» на вкладке «Insert» основного меню редактора VBA. В основной области редактора (на изображении имеет серый фон) должно появиться новое окно кода – Имя_книги – имя_модуля (Code), а в окне управления проектами (№3) к дереву выбранного проекта добавится вновь созданный модуль.

Добавьте в модуль следующий код:

Данная процедура выводит на экран диалоговое окно с сообщением «Привет пользователь!». Протестируйте ее работу, нажав кнопку Rub Sub (№2 на изображении) или вызвав как обычный макрос.

Теперь более подробно разберем приведенный код.

Любая процедура начинается со строки объявления, состоящей из оператора Sub (сокращение от Subprogram), после которого следует имя подпрограммы. За именем следует перечень аргументов, заключенный в скобки.

Для имени действуют некоторые ограничения: оно должно начинаться с буквы и не должно содержать пробелы и большинство спецсимволов.

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

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

Последняя строка содержит оператор End с последующим ключевым словом Sub и сообщает о завершении процедуры.

Учимся пользоваться Object Browser

Выше была упомянута функция MsgBox, но ее возможности полностью не рассмотрены. Это хороший случай, чтобы научиться использовать браузер объектов (№5 на изображении окна редактора VBA).

Нажмите кнопку на панели или клавишу F2, чтобы отобразить Object Browser:

Выпадающий список №1 содержит перечень всех подключенных библиотек. Используйте его только в том случае, если точно знаете, к какой библиотеке относится изучаемый класс, функция и т.д. (подключить или отключить любую из доступных библиотек можно, выбрав пункт «References» на вкладке «Tools» главного меню редактора VBA).

Примечание: Библиотеки предоставляют стандартные и дополнительные возможности работы с объектами Excel (ячейки, листы, книги и т.д.), файловой системы, изображениями, базами данных и другими.

Поле №2 предназначено для поиска свойств, методов, классов подключенных библиотек.

Результаты поиска отображаются в поле №3 и представляют из себя таблицу с тремя столбцами: библиотека, класс и член класса.

Поле №4 содержит перечень всех классов, выбранных в поле №1 библиотек.

В области №5 содержится список всех членов класса, выбранного в поле №4.

Поле №6 содержит краткую справку о выделенном результате поиска, классе или члене класса.

Примечание: библиотеки, классы, функции и процедуры (методы), свойства и т.п. в Object Browser имеют различные обозначения, представленные набором пиктограмм. Краткая справка (поле №6) всегда указывает какой тип элемента выделен. Обращайте на это внимание, чтобы в дальнейшем лучше ориентироваться в работе с объектами.

Примечание: Понятие объекта не относится к теме данной статьи и будет рассмотрено в следующих материалах.

Теперь найдем функцию MsgBox с помощью браузера объектов. В поле поиска (№2) впишите ее название и кликните по кнопке с изображением бинокля. В поле результатов поиска выделите строку со значением MsgBox в столбце «Member». В поле №6 появилась краткая информация, сообщающая нам, что выбранный член является функцией, имеет перечень аргументов, возвращает результат типа VbMsgBoxResult, относиться в классу Interaction библиотеки VBA.

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

Изучите самостоятельно возможности функции MsgBox.

Ссылка на процедуру VBA

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

Для лучшего понимая рассмотрим пример (в примере используется псевдокод):

Выносите дублирующие участки кода в отдельные процедуры и указывайте ссылки на них из главной процедуры:

Для указания ссылки на процедуру используется оператор Call, который состоит из необязательного ключевого слова Call и имени вызываемой подпрограммы:

РАБОТА С ИНТЕРНЕТОМ ЧЕРЕЗ EXCEL VBA

Сегодня расскажу Вам как работать с интернетом через VBA Excel.

Давайте перейдем в редактор кода Excel, для этого нажмите сочетание горячих клавиш Alt + F11 или через вкладку «просмотр кода». В открывшемся окне редактора через вкладку insert -> procedure добавим простую процедуру “Test” и нажмем ок.

Теперь нужно подключить специальный внешний компонент т.к. excel по умолчанию не умеет работать с удаленными серверами. Сам компонент представляет из себя файл библиотеку с расширением .dll (dynamic link library).

Чтобы добавить библиотеку нажмите на вкладку Tools -> References

В открывшемся окне найдите библиотеку с названием (Microsoft XML, v6.0). При установке windows данная библиотека устанавливается на Ваш компьютер автоматически. Проставьте галочку и нажмите ок.

Теперь внутри любой процедуры нам будет доступен класс XMLHTTP60. Внутри нашей процедуры напишем следующее выражение.

Вообще данный класс XMLHTTP60 в большинстве случаев известен как XmlHttpRequest, используется сегодня в разработке современных веб приложений, которые модно называют web 2.0 или Ajax. Однако сам класс довольно древний, впервые был разработан как не странно компанией Microsoft и работал уже в Internet Explorer 5. В те времена основным форматом обмена дынными был XML, поэтому в название класса присутствует xml хотя ничего общего c xml на сегодняшний день не имеет.

Давайте просто получим разметку странички google. Пока не очень полезно, но для примера сойдет.

В коде напишем следующий текст.

Если пример вернут ошибку 70, то вставьте другой адрес. Ошибка может быть связанна с механизмом безопасности google, потому просто проигнорируйте её и добавьте любой другой адрес, любимого сайта.

Запустим нажав на иконку run или клавишу F5

Как мы видим в окне immediate мы получили сырую разметку гугла.

Давайте откроем браузер. В области открытой страницы браузера нажмите правую кнопку мышки и выберете «Посмотреть код страницы»

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

Теперь давайте пробежимся по строчкам нашего кода.

Сначала мы объявляем переменную xhr и стразу инициализируем её через ключевое слово new. Если не совсем понятно, как работает данная строчка, то посмотрите уроки по объектам в Excel ссылка в описание.

Далее мы обязательно должны указать основные параметры через метод Open

Первый параметр — это глагол запросов протокола http. Официально их не много около 8 штук, могут быть и пользовательские. Но сейчас достаточно запомнить два часто употребляемых глагола GET и POST (более подробно сюда)

Второй параметр – это адрес веб ресурса, тут всё ясно.

Третий параметр – это указатель на… хотя просто запомните, что сюда ставится false))

Потом мы просто вызываем удаленный сервер методом send

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

Свойство responseText содержит все данные которые вернул сервер, обычно это текстовый формат.

Необходимо добавить, что если всё хорошо и удаленный сервер работает верно, то сервер вместе с текстом или телом ответа, возвращает код ответа.

Если всё хорошо, то код ответа начинается с цифры 200 (201, 202, 203, 204, 205, 206) (код ответов можно посмотреть тут (http://lib.ru/WEBMASTER/rfc2068/))

Однако бывает такое, что удаленный ресурс отработал неверно. Скорее всего сервер в таком случае вернет ошибку с кодом ответа начинающуюся с цифры 400, например, знаменитую ошибку 404 (страница не найдена) или 500 (ошибка сервера).

Чтобы проверить, что сервер отработал верно и вернул нам то, что надо проверим код ошибки.

Изменим на следующий блок кода.

В комментариях я указал более надежный способ проверки положительного ответа от сервера всё что выше 200, но ниже 300 считается ок.

Очистите окно Immediate

Нажмите F5 или иконку старт.

Мы видим, что всё тоже самое ответ пришел верный.

Чтобы проверить блок else давайте в адрес добавим что-то неправильное, например, восклицательные знаки https://google.com/!!

Нажмите F5 или иконку старт.

В окне Immediate уже пришла страничка с ошибкой.

Таким образом можно обращается к серверу через VBA Excel

Я рекомендую нажать клавишу F8 чтобы по шагам прогрессировать программу и посмотреть каждый шаг.

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

Перевод статьи «Using early binding and late binding in Automation» с официального сайта поддержки Майкрософт. Перевод выполнен Романом Вороновым от 14-го июля 2015.

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

Automation – это процесс, при котором некоторый программный компонент взаимодействует и / или контролирует другой программный компонент посредством Компонентно-Объектной Модели (на англ. COM) Майкрософта. Этот принцип лежит в основе большинства кросс-компонентных взаимодействий в таких языках как Visual Basic (VB) или Visual Basic for Applications (VBA) и стал неотъемлемой частью большинства программ.

Исторически, объект Automation – это любой объект, поддерживающий интерфейс IDispatch. Этот интерфейс позволяет клиенту запрашивать методы и свойства во время исполнения программы. Происходит это даже без предварительного знания об объекте на стадии разработки, с которым будет взаимодействие. Это называется поздним связыванием. Сегодня, однако, термин «Объект Automation» может быть использован в отношении любого объекта COM, даже не поддерживающего интерфейс IDispatch (и, следовательно, недоступного для позднего связывания). В этой статье предполагается, что объект, который Вы автоматизируете, поддерживает как позднее, так и раннее связывание.

Что же такое связывание?

Связывание – это процесс сопоставления вызова функции, написанной программистом, с конкретным кодом (внутренним или внешним), который эту функцию реализует. Это происходит при компилировании, когда все используемые в коде функции должны быть привязаны до того, как код будет исполнен.

Для большего понимания рассмотрим «связывание» применительно к публикации некоторых материалов. Представьте, что Ваш код – это текст книги, где в каком-то параграфе Вы пишите: «подробности смотрите далее в главе 12, на странице Х». Вы не знаете точный номер страницы, пока книга не закончена. Поэтому до того, как параграф будет прочтён, все страницы книги должны быть «связаны» вместе чтобы Вы могли проставить конкретный номер страницы для ссылки. Приходится ждать, пока книга будет закончена, «связана», чтобы можно было обращаться к разным её частям.

Связывание в программировании носит те же черты. Ваш код состоит из частей, которые должны быть собраны вместе до того, как код может быть «прочтён». Связывание – это замена имён функций на адреса в памяти (или, что точнее, на смещения памяти), куда код будет «прыгать» при вызове этих функций. Для COM объектов адрес – это смещение по памяти в таблице указателей объекта (так называемая v-таблица). COM-функция связывается через таблицу указателей.

Структура COM-объекта довольно проста. Когда код содержит ссылку на объект – он содержит косвенное указание на вершину таблицы указателей. А таблица указателей — ни что иное как массив адресов в памяти, каждая запись которого ведёт к разным функциям данного объекта. Например, для вызова 3-й функции COM-объекта нужно прыгнуть сверху таблицы до 3-й записи и пройти к указанной здесь области памяти. Это исполнит код функции и, по завершению, возвратит нас к исполнению следующей строки основного кода.

Все COM объекты наследуются от интерфейса IUnknown («неизвестный» интерфейс, англ.) и первые три записи в таблице указателей являются методами этого интерфейса. Поэтому, например, при необходимости освободить объект – вызывается третья функция в таблице указателей (IUnknown::Release).

К слову, эта работа выполняется языком Visual Basic самостоятельно, «за кулисами» программирования. Как VB программист, Вам не придётся работать с таблицей указателей напрямую. Однако, это — основа связывания COM-объектов, крайне важная для понимания процесса связывания.

Описанный выше пример – классическое раннее связывание (или связывание через таблицу указателей). Для всех COM объектов эта форма связывания имеет место всякий раз, когда вызывается IUnknown интерфейс этого объекта. Но что насчёт других функций этого объекта? Как вызвать метод обновления или родительское свойство? Эти привычные функции уникальны для объекта. А если положение этих функций в таблице указателей заведомо неизвестно, то как найти адреса для их вызова?

Ответ, конечно, зависит от того, знаем ли мы (или нет) заведомо об устройстве таблицы указателей объекта. Если мы знаем, то можно проделать тот же трюк, что ранее описан про освобождение объекта через метод интерфейса IUnknown: «прыжком» заданной длины до нужного места в таблице указателей. Это пример того, что принято считать «ранним связыванием».

Для применения раннего связывания к объекту следует ориентироваться в его таблице указателей. На языке Visual Basic это можно сделать через добавление ссылки на библиотеку типов, описывающую объект, его интерфейс (таблица указателей) и на все функции объекта. После чего можно объявить объект принадлежащим к конкретному типу и использовать объект через его таблицу указателей. Например, если необходимо автоматизировать MSO Excel с использованием раннего связывания – следует добавить ссылку на «Microsoft Excel [?].0 Object Library» (где [?] зависит от версии используемого приложения Excel) в меню «References» (ссылки) проекта и объявить переменную с типом «Excel.Application». С этого момента любой вызов Вашей объектной переменной будет работать с ранним связыванием:

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

COM включает интерфейс IDispatch. Объекты, использующие IDispatch, имеют либо диспинтерфейс (если IDispatch – единственный поддерживаемый ими интерфейс), либо двойной интерфейс (если плюс к первому у них есть привычный интерфейс, к которому можно применить раннее связывание). При использовании IDispatch интерфейса для связывания считается, что применяется «позднее связывание». При этом точные положения свойств и методов, вызываемых клиентом, в ходе работы программы определяются методами самого IDispatch. Возвращаясь к примеру с книгой: представьте, что вместо указания нужной страницы в тексте есть сноска, пройдя по которой мы найдём содержание, в котором ещё нужно будет найти номер нужной страницы. И всё это во время чтения нашей условной книги.

Магия интерфейса поддерживается двумя функциями: GetIDsOfName («получить идентификаторы имён» с англ.) и Invoke («вызов» с англ.). Первая функция связывает имена функций с особым идентификатором. А когда идентификатор нужной функции известен – оную можно вызвать с помощью функции Invoke. Такая форма вызова методов называется «поздним связыванием».

Запомните, в Visual Basic способ связывания задаётся объявлением объекта. Когда объект инициализируется как переменная типа «Object» — мы, по сути, говорим Visual Basic’у использовать интерфейс IDispatch, тем самым применяя позднее связывание:

Как видите, весь остальной код такой же, как и при раннем связывании. Единственное отличие при написании кода – в объявлении переменной.

Заметьте, что «позднее связывание» касается вызываемой функции, а не способа её вызова. Из ранее изложенного материала следует, что к интерфейсу IDispatch уже применяется «раннее связывание». Для задания свойства видимости, Visual Basic обращается к таблице указателей (IDispatch::Invoke). И уже COM-объект несёт ответственность за перенаправление запроса к корректной функции для отрисовки Excel приложения. Подобное перенаправление позволяет Visual Basic клиенту быть скомпилированным (при этом, привязанным к корректному адресу функции) и вместе с этим не знать саму функцию, с которой будет дальше работать.

Некоторые клиенты автоматизации (в первую очередь пакеты MFC и Visual Basic 3.0, хотя также касается Visual Basic 5.0, 6.0) используют смешанную форму позднего связывания – связывание идентификатора. Если COM объект известен на этапе разработки, идентификаторы вызываемых функций могут быть захвачены и направлены на IDispatch::Invoke напрямую. При этом нет необходимости в вызове GetIDsOfNames во время работы программы. Этим значительно увеличивается производительность, так как вместо двух вызовов COM на каждую функцию — происходит только один.

Связывание идентификатора нельзя выбрать напрямую в Visual Basic 5.0 или 6.0. Оно используется для объектов, которые обозначены в библиотеке типов, но не содержат обычного интерфейса (объекты только с одним диспинтерфейсом) и для элементов управления ActiveX. При этом везде, где это возможно, Visual Basic будет использовать раннее связывание по умолчанию.

Какое связывание стоит использовать?

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

Раннее связывание также обеспечивает безопасность при работе с типами. Когда у Вас привязана ссылка к библиотеке типов компонента, Visual Basic поддерживает IntelliSense технологию (автоматическое предложение свойств и методов по первым введённым символам), что позволяет кодировать каждую функцию корректно. Visual Basic также предупредит, если тип данных параметра или возвращаемого значения некорректен, что сэкономит время на написании и исправлении кода.

Позднее связывание по-прежнему применимо в ситуациях, когда конкретный интерфейс объекта ещё не известен на стадии разработки. Если предполагается, что Ваше приложение будет обращаться к множеству неизвестных серверов или ему потребуется вызывать функции по имени (например, с помощью CallByName функции в Visual Basic 6.0), тогда потребуется позднее связывание. Позднее связывание также полезно при работе с вопросами совместимости между разными версиями компонента, интерфейс которого от версии к версии претерпевал изменения.

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

Сохранение совместимости между версиями

Если предстоит использовать компонент, который Вы не предоставляете вместе с установочным пакетом и нет уверенности в версии, с которой предстоит взаимодействовать – стоит уделить особое внимание раннему связыванию с интерфейсом, совместимым со всеми версиями компонента. Или (в некоторых случаях) используйте позднее связывание для вызова метода, который может быть в конкретной версии, и с достоинством ударьте в грязь лицом, если этот метод отсутствует.

Приложения Microsoft Office – хороший пример подобных COM-серверов. Офисные приложения обычно расширяют свои интерфейсы для добавления нового функционала или для коррекции предыдущих меж-версионных наработок. Если требуется автоматизировать офисное приложение, раннее связывание рекомендуется с самой ранней версией продукта из предполагаемых в системе Вашего клиента. Например, если нужно разработать решение для Excel 95, Excel 97, Excel 2000 и Excel 2002 – следует использовать библиотеку типов для Excel 95 (XL5en32.olb) для обеспечения совместимости со всеми тремя версиями.

Офисные приложения показывают, как объектные модели с большими двойными интерфейсами могут испытывать серьёзные ограничения при переносе на некоторые платформы. Наилучшим будет выбрать IDispatch интерфейс для работы на разных платформах. Более подробно о поддержке совместимости с офисными приложениями можно посмотреть ЗДЕСЬ (ссылка на англоязычную статью).

Более детальную информацию по COM, таблицам указателей и использованию автоматизации можно найти в книгах:
1). Rogerson, Dale, Inside COM, MSPRESS, ISBN: 1-57231-349-8.
2). Curland, Matt, Advanced Visual Basic 6, DevelopMentor, 0201707128.

Идентификатор статьи: 245115, последнее обновление от 5 ноября 2007 года в 16:31:03, версия 7.2
Применимо к:
— Microsoft Office Ultimate 2007
— MicrosoftOffice Enterprise 2007
— MicrosoftOffice Professional 2007
— MicrosoftOffice Professional Plus 2007
— MicrosoftOffice Standard 2007
— MicrosoftOffice Home and Student 2007
— MicrosoftOffice Basic 2007
— MicrosoftOffice 2003, All Editions
— MicrosoftOffice XP Developer Edition
— MicrosoftOffice 2000 Developer Edition
— MicrosoftVisual Basic 5.0 Professional Edition
— MicrosoftVisual Basic 6.0 Professional Edition
— MicrosoftVisual Basic 5.0 Enterprise Edition
— MicrosoftVisual Basic Enterprise Edition for Windows 6.0
Ключевые слова: kbautomation kbinfo KB245115

Читать еще:  Диалоговое окно vba excel
Ссылка на основную публикацию
Adblock
detector