Как сделать свою надстройку в Excel?

Для установки надстройки на свой компьютер сохраните архив надстройки ЁXCEL в любой папке своего компьютера.

Установка надстройки ЁXCEL

Обязательно распакуйте архив, после чего у вас появиться новая папка ЁXCEL_2007-2016, которая будет содержать два файла: ЁXCEL.xlam и SETUP.xlsm.

Как сделать свою надстройку в excel?

Важно:

  • После того как вы подключите надстройку ее нельзя перемещать или менять названия папок, в которых она храниться. В противном случае MS Excel потеряет ее месторасположение и не сможет ее использовать.
  • Сразу сохраняйте файл надстройки с учетом того чтобы не перемещать его в будущем.

Если у Вас Windows 8 или Windows 10, обязательно выделите файл ЁXCEL.xlam и кликните по нему правой клавишей мышки, в контекстном меню выберите пункт «Свойства«:

Как сделать свою надстройку в excel?

В нижней части открывшегося окна нажмите кнопку «Разблокировать» или установите галочку напротив этого пункта (Windows 8 — кнопка, Windows 10 — галочка) и нажмите кнопку «ОК«:

Как сделать свою надстройку в excel?

Вы можете воспользоваться стандартным методом подключения надстроек (более подробно в статье «Как подключать надстройки к MS Excel?) или подключить надстройку воспользовавшись файлом — установщиком.

В этой статье описан способ подключения надстройки через файл установщик SETUP.xlsm.

+ — Подключение надстройки ЁXCEL к MS Excel 2007 Click to collapse

Закройте все открытые файлы MS Excel, закройте MS Excel. Заново откройте MS Excel.

В левом верхнем углу нажмите большую круглую кнопку «Office«, в выпавшем меню нажмите кнопку «Открыть«:

Как сделать свою надстройку в excel?

В диалоговом окне «Открытие документа» выберите папку надстройки, в этой папке выберите файл «SETUP.xlsm» и нажмите «Открыть«:

Как сделать свою надстройку в excel?

Если вы увидите следующие сообщение — нажмите кнопку «Параметры…«:

Как сделать свою надстройку в excel?

В открывшемся диалоговом окне выберите пункт «Включить это содержимое» и нажмите «ОК«:

Как сделать свою надстройку в excel?

В главном меню MS Excel появиться новый пункт «ЁXCEL«:

Как сделать свою надстройку в excel?

Источник: https://e-xcel.ru/index.php/ustanovka-i-nastrojka/ustanovka-nadstrojki-joxcel

Как использовать надстройки Excel в Excel 2016 — манекены 2019

Надстройки Office — это не единственные, которые вы можете использовать для расширения встроенных функций Excel 2016 каким-то образом. Вы также можете использовать встроенные надстройки, созданные Microsoft или сторонними надстройками Excel, которые вы можете приобрести у самых разных поставщиков.

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

Доступны два разных типа программ надстройки Excel, которые можно использовать для расширения функций в Excel 2016:

  • Надстройки Excel: Эта группа добавок, ins (также известный как надстройки автоматизации) предназначен для расширения возможностей анализа данных Excel. К ним относятся Analysis ToolPak, инструменты евро валюты и Solver.
  • Надстройки COM: надстройки COM (компонентная объектная модель) предназначены для расширения возможностей Excel для обработки и анализа больших объемов данных в моделях данных (коллекции связанных таблиц базы данных). К ним относятся Inquire, Microsoft Office PowerPivot для Excel и Power View.

Когда вы впервые устанавливаете Excel 2016, программы надстройки, включенные в Excel, не загружаются и, следовательно, еще не готовы к использованию. Чтобы загрузить любую или все эти надстройки, выполните следующие действия:

  1. Нажмите кнопку «Файл», выберите «Параметры Excel» или нажмите «Alt + FT», чтобы открыть диалоговое окно «Параметры Excel», а затем перейдите на вкладку «Надстройки» , Вкладка «Надстройки» содержит все имена, местоположения и типы надстроек, к которым у вас есть доступ.
  2. (необязательно). В раскрывающемся списке «Управление» внизу, по умолчанию, надстройки Excel выбраны. Если вы хотите активировать одну или несколько надстроек COM, выберите надстройки COM из раскрывающегося списка «Управление».
  3. Выберите кнопку «Перейти». Если надстройки Excel были выбраны в раскрывающемся списке «Управление», Excel открывает диалоговое окно «Надстройки» (аналогично показанному), в котором показаны все имена встроенных надстроек, которые вы можете нагрузки. Если были установлены надстройки COM, вместо этого появляется диалоговое окно COM Add.
  4. Установите флажки для каждой надстройки, которую вы хотите загрузить в окне надстроек или надстроек COM. Щелкните имя надстройки в окне «Доступные дополнения», чтобы отобразить краткое описание его функции в нижней части этого диалогового окна.
  5. Нажмите кнопку OK, чтобы закрыть диалоговое окно надстройки или надстройки COM.

Как сделать свою надстройку в excel? Активация встроенных надстроек Excel в диалоговом окне надстроек.

Когда вы впервые устанавливаете Excel 2016, программа автоматически загружает все четыре надстройки (Analysis ToolPak, Analysis ToolPak — VBA, Euro Currency Tools и Solver Add-In), отображаемые в списке «Доступные дополнения».

Инструменты в двух инструментах Analysis ToolPaks добавляются как специальные функции в группу Library Function и инструменты Euro Currency в группу решений на вкладке «Формулы».

Надстройка Solver появляется в группе «Анализ» на вкладке «Данные».

Программы надстройки Excel сохраняются в специальном формате файла, идентифицированном с помощью. XLL или. XLAM (для расширения надстройки Excel).

Эти файлы обычно сохраняются внутри папки Library (иногда в их собственных подпапках), которая находится в папке Office16.

Папка Office16, в свою очередь, находится в папке Microsoft Office внутри папки Program Files на вашем жестком диске (часто обозначаемой как диск C:). Другими словами, путь c: Program FilesMicrosoft OfficeOffice16Library

После того, как в библиотечную папку была установлена ​​надстройка, ее имя появится в окне списка надстроек.

Если вы когда-либо скопировали программу надстройки XLAM в папку, отличную от папки «Библиотека» в папке Office16 на вашем жестком диске, ее имя не будет отображаться в списке «Доступные дополнения», когда вы откроете надстройку Add- Ins. Однако вы можете активировать надстройку, нажав кнопку «Обзор» в этом диалоговом окне, а затем выбрав файл надстройки в своей папке в диалоговом окне «Обзор», прежде чем нажимать «ОК».

Управление стандартными надстройками Excel

Знаете ли вы это или нет, у вас уже есть группа надстроек, ожидающих вас. При установке Excel 2016 загружаются следующие программы надстройки Excel:

  • Analysis ToolPak: Добавляет дополнительные финансовые, статистические и инженерные функции в пул встроенных функций Excel.
  • Analysis ToolPak — VBA: Позволяет программистам VBA публиковать собственные финансовые, статистические и инженерные функции для Excel.
  • Инструменты евро валюты: Позволяет форматировать значения рабочих таблиц как валюту евро и добавляет функцию EUROCONVERT для конвертации других валют в евро. Чтобы использовать эти инструменты, нажмите кнопки «Евроконверсия» или «Евроформатирование», которые отображаются на ленте в группе «Решения» в конце вкладки «Формулы».
  • Надстройка Solver: Вычисляет решения для сценариев what-if на основе ячеек, которые изменяют и ограничивают диапазон значений. Чтобы использовать надстройку Solver, нажмите кнопку «Solver», которая появляется на ленте в группе «Анализ» в конце вкладки «Данные».
Читайте также:  Как сделать один знак после запятой в Excel?

Чтобы использовать одну из дополнительных статистических или финансовых функций, добавленных как часть надстройки Analysis ToolPak, вы не получаете доступ к вкладке надстроек.

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

Управление надстройками Excel COM

При установке Excel 2016 включены следующие COM-надстройки:

  • Запрос: Облегчает обзор книг, чтобы понять их дизайн, функцию, несоответствия, формулу ошибок и неработающих ссылок. Вы также можете использовать запрос, чтобы сравнить две книги, чтобы выявить их различия.
  • Microsoft Power Map for Excel : позволяет сопоставлять географические данные на интерактивном 3D-глобусе.
  • Microsoft Power Pivot for Excel: Позволяет создавать сложные модели данных с использованием большого количества данных. Он также облегчает запросы данных с использованием функций DAX (Data Analysis Expressions).
  • Microsoft Power View for Excel: Предоставляет средства для интерактивного исследования данных и визуального представления данных в ваших моделях данных Excel, поощряя специальные запросы (на месте).

Имейте в виду, что вы легко управляете надстройками COM с помощью кнопки надстроек COM в группе надстроек на вкладке «Разработчик».

(Чтобы отобразить вкладку «Разработчик» в Excel 2016, выберите «Файл» → «Параметры» → «Настроить ленту» [Alt + FTC], а затем установите флажок перед разработчиком в списке «Основные вкладки», прежде чем нажимать «ОК».) Когда вы выберете «Добавить COM» -Ins, Excel открывает диалоговое окно надстроек COM, в котором отображаются все надстройки COM, которые установлены и активированы. Здесь вы можете активировать и деактивировать отдельные надстройки по мере необходимости.

Приобретение сторонних надстроек

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

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

Еще до того, как вы выполните поиск в Интернете, вы можете посетить надстройки. com.

Этот онлайн-сервис предлагает множество полезных надстроек Excel. Одним из примеров является Splitter Name, который автоматически разбивает полные имена, которые были введены в отдельные ячейки, в индивидуальное имя, второе имя или начальную и фамильную ячейки (чтобы список затем можно было лучше отсортировать и отфильтровать по частям имен) ,

Обратите внимание, что вы можете рассчитывать заплатить надстройки. com между $ 25 и $ 50 для таких дополнительных программ (действительно разумно оцененных, если вы считаете, сколько часов потребуется для разделения имен на отдельные ячейки в огромных листах).

Источник: https://ru.howtodou.com/how-to-use-excel-s-add-ins-in-excel-2016

Надстройка VBA-Excel

После установки надстройки на ленту Excel добавится новая вкладка — VBA-Excel. Вид данной вкладки зависит от вашей версии программы. В Excel 2013 она выглядит следующим образом:

Быстро сопоставьте данные двух таблиц. Найдите ячейки из первой таблице, которые присутствуют во второй. Найдите совпадающие данные. Объедините две таблицы исключив дубликаты. В чужих файлах особенно тяжело разобраться как получено то или иное значение. Для наглядности можно использовать стрелки, показывающие какие данные используются. Надстройка позволяет включать такие стрелки для всех формул на активном листе.
Аналогично поможет вставить большое количество строк Быстро вставить большое количество столбцов
Меняет два выделенных диапазона строк местами.
Позволяет поменять местами два выделенных диапазона в одно действие Заполняет пустые ячейки значениями верхних или левых непустых ячеек

Макросы

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

Работа с файлами Текстовые функции

Функция позволяет проговорить введенный текст в ячейку Excel. Предупредить об изменении результата в расчете и т.п.
Выполняет поиск заданного текста и возвращает текст, стоящий перед искомым текстом. Выполняет поиск заданного текста и возвращает текст, стоящий после искомого текста.
Выполняет импорт текста из интернет страницы в Excel. Функции для удобной работы с фамилией, именем и отчеством помогут разделить ячейку с ФИО на части
Функция помогает убрать случайно введенный текст на русской раскладке. Функция ПРЕДМЕТПРОПИСЬЮ позволит указать прописью любой тип данных будь то штуки, дни, рубли, тоны, километры и так далее.

Логические функции Финансовые функции Функции даты и времени Математические функции Ссылки и массивы Статистические функции Информационные функции

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

Источник: https://micro-solution.ru/projects/addin_vba-excel

Пошаговое руководство. Создание первой надстройки VSTO для Excel

В этом вводном пошаговом руководстве показано, как создавать надстройки уровня приложения для Microsoft Office Excel.

Функции, создаваемые в подобном решении, доступны для приложения независимо от того, какие книги открыты.

Применимость. Информация в этой статье относится к проектам надстроек VSTO для Excel. Дополнительные сведения см. в разделе
Доступность функций по типам приложений Office и проектов.

В данном пошаговом руководстве рассмотрены следующие задачи:

  • Создание проекта надстройки VSTO Excel для Excel.
  • Написание кода с использованием объектной модели Excel, которая при сохранении книги добавляет в нее текст.
  • Построение и запуск проекта для тестирования.
  • Удаление завершенного проекта для прекращения автоматического запуска надстройки VSTO на компьютере разработчика.

Примечание

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

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

Создание проекта

  1. В меню Файл выберите пункт Создать, а затем команду Проект.
  2. В области шаблонов разверните узел Visual C# или Visual Basic, а затем узел Office/SharePoint.
  3. В развернутом узле Office/SharePoint выберите узел Надстройки Office.
  4. В списке шаблонов проектов выберите Надстройку Excel 2010 или Надстройку Excel 2013.
  5. В поле Имя введите FirstExcelAddIn.
  6. Нажмите кнопку ОК.

Visual Studio создает проект FirstExcelAddIn и открывает файл кода ThisAddIn в редакторе.

Читайте также:  Как сделать случайную выборку в Excel из списка?

Добавьте код в файл кода ThisAddIn.

Новый код использует объектную модель Excel для вставки стандартного текста в первую строку активного листа.

Активным является лист, открытый в момент сохранения книги пользователем.

По умолчанию файл кода ThisAddIn содержит следующий созданный код:

  1. Частичное определение класса ThisAddIn. Этот класс предоставляет точку входа для кода и обеспечивает доступ к объектной модели Excel. Для получения дополнительной информации см. Приступая к программированию надстроек VSTO. Остальная часть класса ThisAddInопределяется в скрытом файле кода, изменять который не следует.
  2. Обработчики событий ThisAddIn_Startup и ThisAddIn_Shutdown. Эти обработчики событий вызываются, когда Excel загружает и выгружает надстройку VSTO. Их можно использовать для инициализации надстройки VSTO в процессе ее загрузки, а также для освобождения используемых надбавкой ресурсов при ее выгрузке. Для получения дополнительной информации см. События в проектах Office.
  3. В файл кода ThisAddIn добавьте в класс ThisAddIn указанный ниже код. Новый код определяет обработчик событий для события
    WorkbookBeforeSave, которое возникает при сохранении книги. Когда пользователь сохраняет книгу, обработчик событий добавляет новый текст в начало активного листа. void Application_WorkbookBeforeSave(Microsoft.Office.Interop.Excel.Workbook Wb, bool SaveAsUI, ref bool Cancel)
    { Excel.Worksheet activeWorksheet = ((Excel.Worksheet)Application.ActiveSheet); Excel.Range firstRow = activeWorksheet.get_Range(«A1»); firstRow.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftDown); Excel.Range newFirstRow = activeWorksheet.get_Range(«A1»); newFirstRow.Value2 = «This text was added by using code»;}
    Private Sub Application_WorkbookBeforeSave(ByVal Wb As Microsoft.Office.Interop.Excel.Workbook, ByVal SaveAsUI As Boolean, ByRef Cancel As Boolean) Handles Application.WorkbookBeforeSave Dim activeWorksheet As Excel.Worksheet = CType(Application.ActiveSheet, Excel.Worksheet) Dim firstRow As Excel.Range = activeWorksheet.Range(«A1») firstRow.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftDown) Dim newFirstRow As Excel.Range = activeWorksheet.Range(«A1») newFirstRow.Value2 = «This text was added by using code»
    End Sub
  4. Если используется C#, добавьте в обработчик событий ThisAddIn_Startup указанный ниже код. Он используется для подключения обработчика событий Application_WorkbookBeforeSave к событию
    WorkbookBeforeSave. this.Application.WorkbookBeforeSave += new Microsoft.Office.Interop.Excel.AppEvents_WorkbookBeforeSaveEventHandler(Application_WorkbookBeforeSave);

Тестирование проекта

  1. Нажмите клавишу F5 для построения и запуска проекта. При построении проекта код компилируется в сборку, которая включается в выходную папку сборки для проекта. Visual Studio также создает ряд записей реестра, которые позволяют Excel обнаружить и загрузить надстройку VSTO, и настраивает параметры безопасности на компьютере разработчика, разрешая запуск надстройки VSTO. Дополнительные сведения см. в разделе
    Построение решений Office.
  2. Убедитесь, что в книгу добавляется указанный ниже текст. Этот текст добавляется с помощью кода.

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

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

В Visual Studio в меню Построение выберите пункт Очистить решение.

Источник: https://technet.microsoft.com/ru-ru/office/cc668205(v=vs.85)

Финансы в Excel

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

Персональная книга макросов

Описание: хранение общих функций и процедур для персонального использования
Требования: нет
Достоинства: возможность хранения пользовательских функций для работы с данными (UDF)
Недостатки: сложности с тиражированием

Для общих программ и макросов можно использовать, так называемую, личную книгу макросов – по умолчанию это файл PERSONAL.XLS (в Excel 2007-2010 PERSONAL.XLSB). Файл с данным именем создается с при записи макроса средствами Excel. Этот файл будет автоматически загружаться каждый раз при запуске Excel. Местонахождение данного файла в каталоге Windows: ПОЛЬЗОВАТЕЛЬApplicationDataMicrosoftExcelXLSTART. На самом деле Excel будет запускать автоматически все файлы из данного каталога, независимо от имен файлов.

В принципе, личные книги макросов можно считать надстройками Excel. В файле PERSONAL.XLS (или любом другом из стартового каталога) можно хранить общие функции и макросы, автоматизирующие часто повторяемые операции. Для выполнения каких-либо операций при старте Excel можно использовать событие Worbook_Open этого файла, либо процедуру Auto_Open в модуле кода.

XLA/XLAM

Описание: стандартная надстройка
Требования: нет
Достоинства: возможность создания тиражируемых продуктов
Недостатки: слабая защита исходного кода программ.

Надстройки с расширением xla (в версии 2007-2010 xlam) представляют собой стандартный xls-файл, который может быть открыт как невидимая в списке открытых файлов рабочая книга.

Файл надстройки обычно содержит программный код, который управляет какими-либо оперциями активной рабочей книги Excel.

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

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

Для доступа к данным рабочей книги надстройки используется объект ThisWorkbook, а для работы с активной рабочей книгой – объект ActiveWorkbook.

В надстройках имеется возможность хранить пользовательские функции для работы с данными рабочих листов (user defined function — UDF). Только надо учитывать, что в этом случае рабочий файл сохраняет ссылку (связь) на файл надстройки по абсолютному пути. Эта особенность может затруднить распространение программных продуктов.

Отладку надстроек лучше производить через xls-файл (не забывая различия между ThisWorkbook и ActiveWorkbook), а впоследствии сохранять этот файл как xla.

Нектороые сложности могут в этом случае возникнуть при использовании событий Workbook_AddinInstall и Workbook_AddinUninstall, так как их невозможно эмулировать в простом файле рабочей книги.

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

Подключать готовую XLA-надстройку можно через соответствующий диалог (Excel 2000-2003 Сервис Надстройки, Excel 2007 Кнопка Office Параметры Excel Надстройки Перейти).

Подключаемые надстройки прописываются в реестре Windows по адресу HKEY_CURRENT_USERSoftwareMicrosoftOffice НОМЕР_ВЕРСИИ.

0 ExcelOptions в строковых параметрах с префиксом OPEN и порядковым номером надстройки (причем первая по порядку надстройка номера не имеет). Управляя этим ключом реестра, можно подключить / отключить надстройку через инсталляционные программы.

Это, кстати, еще одна причина никогда не использовать событие Workbook_AddinInstall – очевидно, что оно не будет вызвано при изменении ключей реестра внешними программами.

Имя и описание надстройки можно задать в свойствах файла перед его сохранением в форматие xla/xlam (Excel 2000-2003 Файл Свойства, Excel 2007 Кнопка Office Подготовить Свойства).

Читайте также:  Как сделать презентацию не редактируемой в PowerPoint?

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

Интересная, но скорее всего бесполезная в работе информация. Надстройки XLA в Excel версии 5.0-8.0 (95-97) хранятся в скомпилированном виде. В связи с этим, там просто нет исходного текста программ в открытом или зашифрованном виде.

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

Microsoft рекомендует использовать для разработчиков возможности COM-DLL и средства VSTO (см. далее).

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

XLS/XLA как ссылка

Описание: библиотека кода VBA
Требования: нет
Достоинства: не требует компиляции во внешних программных продуктах
Недостатки: сложность распространения из-за абсолютных ссылок на файлы

Если вы создали набор общеупотребительных функций, но не имеете возможность скомпилировать библиотеку в виде XLL или DLL-файла (см.ниже), то можно подключить любой VBA-код XLS-файла в качестве ссылки в проекте. Делается это в окне редактора кода через меню ToolsReferences.

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

При использовании общего кода XLA-надстроек и ссылок к XLS-файлам важную роль играет определение методов и свойств класса Friend. Эти методы и свойства видны внутри проекта, но не во внешнем файле, использующем ссылку. Внутри одного файла определение Friend соответствует Public.

XLL

Описание: библиотека функций рабочего листа
Требования: компилятор C/C++ и API-библиотека
Достоинства: создание наиболее производительных функций с полным встраиванием в интерфейс Excel
Недостатки: нет

Наиболее производительные пользовательские функций для работы с таблицами реализуются при помощи XLL-надстроек.

XLL-надстройка представляет собой скомпилированный на C/C++ файл динамической библиотеки Windows, специально предназначенной для использования в Excel.

Разработчикам предоставляется специальная библиотека C API (Excel XLL SDK). Использование языка C с возможностью управления памятью позволяют разработать самые мощные и производительные функции для работы с данными Excel.

Сравните производительность встроенных функций и UDF, разработанных на VBA.

Мы не имеем практического опыта разработки XLL-надстроек, поэтому желающих разрабатывать библиотеки такого типа отсылаем к MSDN.

Microsoft Excel 2010 XLL Software Development Kit

Имеется не очень стандартный способ регистрации UDF-функций для вывода пользовательской функции на VBA в интерфейсе Excel через Application.ExecuteExcel4Macro(“REGISTER(…)”) . Метод проверен и работает. Но не дает никаких преимуществ в производительности функций, поэтому в практической работе его ценность сомнительна. Подробнее читайте:

Регистрация UDF

Описание: полнофункциональная надстройка Excel
Требования: ODE 97 или ODT XP
Достоинства: возможность создания интерфейса любой сложности; полностью закрытый исходный код.
Недостатки: невозможно создание пользовательских функций для работы с данными (UDF)

Версии Excel 97 (8.0), 2000 (9.0) и XP (10.0) имели специальный вариант пакетов для разработчика под названием DeveloperEdition (ODE) или DeveloperTools (ODT). В версиях ODE 9.0 и ODT 10.

0 имелась возможность создавать библиотеки формата ActiveX DLL непосредственно при помощи пакета Office без использования внешних компиляторов.

К сожалению, в последующих версиях Excel эта возможность была удалена, Microsoft отсылает разработчиков к технологии Visual Studio Tools for Office (VSTO) с использованием .NET Framework.

Главной особенность Excel ODT является наличие возможности создания проекта VBA независимого от xls-файла, с возможностью последующей компиляции данного проекта в файл формата DLL (ActiveX DLL).

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

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

Файл DLL, скомпилированный с помощью ODE/ODT не требует никаких дополнительных исполняемых модулей для своей работы, кроме, собственно говоря, Excel.

Здесь важное замечание, что, даже если вас заинтересовали возможности ODE/ODT, вам вряд ли удастся приобрести лицензионные версии этих продуктов – Microsoft с 2003го года прекратил их распространение.

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

Microsoft Office 2000 Developer EditionMicrosoft Office XP Developer

В отличие от панелей инструментов, новый пользовательский интерфейс Excel 2007 в виде ленты (ribbons) не имеет встроенных механизмов настройки напрямую через VBA.

Имеется довольно странный механизм настройки ленты через редактирование xml-файла. Формат xlsx представляет из себя zip-архив нескольких файлов и папок, в одном из которых доступна настройка на ленте пользовательских функций. Странно, но разработчики Excel почему-то не предоставили интерфейс для настройки ленты иным способом. Подробнее см. MSDN:

Настройка ленты Office 2007

В тех случаях, когда основной алгоритм закрыт в COM-надстройке, вызов функций и процедур (например, из обработчиков пунктов меню) осуществляется через механизм позднего связывания (Late-bound). Для получения доступа к объекту надстройки используется функция COMAddIns объекта Application с указанием имени COM-надстройки. Например:

Private Function GetAddinObject_() As Object
Dim obj As Object

On Error Resume Next

Set obj = Application.COMAddIns(«имя.надстройки»).Object

Set GetAddinObject_ = obj
End Function

Описание: полнофункциональная надстройка Excel
Требования: Visual Studio .NET различных версий и пакет VSTO
Достоинства: возможность создания интерфейса любой сложности, с использованием специфических возможностей Office 2003-2010: окна, ассистент, лента
Недостатки: требует специальный run-time-пакет (иногда несколько инсталляционных файлов) при распространении.

Этот инструмент, пожалуй, наиболее мощное средство разработки надстроек Excel. Разработчику доступны все средства технологии .NET, в том числе различные языки программирования, элементы управления и прочие ресурсы.

VSTO предоставляет разработчику специальный шаблон проекта .NET. Доступ к объектам Excel осуществляется стандартными средствами языков программирования. В результате компиляции проекта также как в предыдущем примере формируется COM DLL файл.

Здесь главное отличие от DLL, скомпилированных в ODT, это возможность использования любых элементов управления .NET. Однако, в отличие от ODT COM DLL, разработанный с использованием VSTO, требует дополнительных run-time пакетов на компьютере конечного пользователя.

Последнее может существенно затруднить распространение программных продуктов.

Пример функциональноых возможностей настройки с использованием VSTO представлен на сайте в разделе Надстройки. В разделе Загрузки можно скачать архив исходного кода VB.NET этой надстройки.

Источник: https://www.excelfin.ru/index.php/articles/theory/54-addins

Ссылка на основную публикацию