І три файли потрібно створити в

Створюємо звичайну динамічну бібліотеку. Вибираємо файл, створити, потімWin32 Dynamik-Link Library. Не забудьте вказати ім'я проекту (DllExcel).

windows

І три файли потрібно створити у проекті. Як ми це робили у "Крок 1 - Мінімальний проект".

створити

Створюємо код

Опис та макросExcel

Ось так працює нашаDLL.

створити

Першим кроком ми реалізували саму функцію уCPPфайлі. Загалом все очевидно, крім модифікатораWINAPI. Існує кілька моделей функцій викликів. Для використанняWindowsмодель викликів функційPASCAL. Для відповідності вимогамWIN32 APIта доданий модифікатор. Далі вexceldll.h​​ми описали цю функцію. Але знову застосували модифікатор для приведення імен функцій до стандартуC. Застосування цього стандарту гарантує підтримку Ваших імен функції іншими програмами. ЯкщоDLLстворюється саме для вашої програми, це не важливо, але якщо Ви зібралися поділитися їй зі світом, то повинні забезпечити сумісність.

І останнім кроком заповнилиdefфайл, описавши функціюMyTestяк функцію експорту, тобто вона буде вилучатися зDLL. Тепер збирайте проект. ОтримануDLLпотрібно помістити в каталогWindows/Systemабо простоWindowsабоWinNT, якщоWindows NT. При виклику функціїDLLнеобхідно, щобDLLбула знайдена. В описаних каталогах операційна система обов'язково подивиться.

Тепер запустітьExcel, створіть макрос, опишіть функцію та код макросу. Пояснень сюди писати не буду, т.к. це стосується програмуванняVBA. А якщо ви цього не вмієте, навіщо вам цей крок, хоч на Бейсику програмувати може кожен. Запускайтемакрос. Якщо Ви все зробили правильно, побачите діалогове вікно створене функцієюDLL.

Це дуже гарна нагода. Застосувавши цю техніку Ви можете розширити можливості будь-якої програми, яка має макромову та функції роботи зDLL. Перерахую на зліт програми Microsoft Office, Corel Draw (Corel Script), AutoCad (VBA), ArcView (Avenue) і т.д.

Функція має бути описана у стандартіС.

Дзвінок має бути у стандарті дзвінківWindows