Надстройка!SEMTools для Excel: новый уровень. Пошаговая инструкция по созданию надстройки Excel для ленты Как открыть надстройки в excel

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

Для тех кому лучше один раз увидеть - представлен видеоролик по установке и подключению .

Шаг 2. Запускаем приложение Excel 2003 и выбираем меню "Сервис"/"Надстройки..."

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

Шаг 3. Для добавления (подключения) новой надстройки, нажимаем кнопку "Обзор". При нажатии на эту кнопку, появляется вот такое окно "Обзор":

Excel отправляет нас искать надстройки в папку с названием Addins и это не с проста. Именно здесь и должны располагаться файлы надстроек для максимально быстрого доступа к ним как приложения, так и самого пользователя. Размещение надстроек в папке Addins ускорит загрузку приложения Excel и подключение к ней надстройки (надстроек) при последующих запусках. Остается переместить файл надстройки с того места, которое мы запомнили в Шаге 1, в эту папку (можно и прямо в это окно, чтобы не искать саму папку на жестком диске). Если по каким-то причинам Вы не смогли, либо не захотели размещать свои надстройки в папке Addins, то через окно "Обзор" просто добираетесь до того места, куда сохранили файл надстройки. Дважды кликнув по выбранному файлу, Вы добавите его в список доступных надстроек. Вот собственно и все, надстройка установлена.

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

Установка надстроек в Excel 2007

Устанавливать надстройки в Excel 2007 не сложнее, чем в Excel 2003. Рассмотри по шагам.

Шаг 1. Сохраняем файл надстройки на компьютер и запоминаем место его хранения (расположения).

Шаг 2. Запускаем приложение Excel 2007, нажимаем кнопку «Office» и выбираем «Параметры Excel» как показано на рисунке

Шаг 3. В появившемся окне "Параметры Excel" в поле "Управление:" выбираем "Надстройки Excel" и жмем кнопку "Перейти..."

Шаг 4. В очередном окне с названием "Надстройки" появляется список доступных надстроек, которые можно подключать и отключать установкой и снятием галочек перед названиями соответствующих надстроек. Для добавления (подключения) новых надстроек, нажимаем кнопку "Обзор".

Появляется окно "Обзор", которое отправляет нас искать надстройки в папку с названием Addins и это не случайно.

Именно в этом месте и должны располагаться файлы надстроек для максимально быстрого доступа к ним как приложения, так и самих пользователей. Размещение надстроек в папке Addins ускоряет загрузку приложения Excel и подключение к нему надстройки (надстроек) при последующих запусках. Перемещаем (добавляем) в это окно (в эту папку) файл, который присутствовал в Шаге 1. Если по каким-то причинам Вы не смогли, либо не захотели расположить свои надстройки в папке Addins, то через окно "Обзор" просто добираетесь до того места, где был изначально сохранен файл надстройки. Дважды кликаете по выбранному файлу и надстройка доба вляется в список доступных надстроек. Все, надстройка установлена. Обращаю Ваше внимание на то, что если после установки файл надстройки будет перемещен в другое место жесткого диска, либо название папки, в которой он находится будет изменено, то весь процесс установки придется повторить заново.

В основном, данный файл предназначен для подключения/удаления надстроек, выложенных на данном сайте на странице Мои надстройки .

Добавить надстройку - надстройка, выбранная в соответствующем поле, будет добавлена в список доступных надстроек Microsoft Excel и автоматически подключена.

- Если установлен флажок Подключить файл помощи , то так же автоматически файл помощи будет подключен и его можно будет вызвать из надстройки нажатием значка соответствующей команды.

Удалить надстройку -надстройка, выбранная в соответствующем поле, будет удалена и отключена. Так же будет удален файл помощи для данной надстройки.

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

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

Скачать программу

(305,8 KiB, 6 394 скачиваний)

Внимание: программа распространяется бесплатно. Распространение данной программы в коммерческих целях запрещено.

Если решили самостоятельно подключить надстройку (на примере установки MyAddin.xla):
Помещаем файл надстройки с раширением.xla:
  1. в папку надстроек Excel, как правило она расположена по адресу:
    C:\Documents and Settings\Дмитрий\Application Data\Microsoft\AddIns ;
    для Windows 7: C:\Users\Дмитрий\AppData\Roaming\Microsoft\AddIns
  2. в любое место на локальном диске;

Вместо "Дмитрий" - Ваша учетная запись на компьютере.
Запускаем Excel и выбираем:

Если надстройка была помещена в папку C:\Documents and Settings\Дмитрий\Application Data\Microsoft\AddIns , то она будет отображена в списке и Вам надо будет только выбрать её, поставив галочку.

Если же Вы поместили надстройку в другую папку, то в окне выбора надстроек нажмите кнопку "Обзор " и выберите файл надстройки. После нажатия "ОК" надстройка будет подключена.

После подключения и установки надстройки для версий Excel 2007 и старше на панели появится новая вкладка(если она еще не отображена) - "Надстройки" (Add-Ins) и на ней будут показаны элементы, относящиеся к данной надстройке. Для версий Excel 2003 и ниже - команды новой надстройки будут созданы вместе с новой панелью, которая должна отобразиться сразу после установки надстройки.

Вкладка "Надстрйоки" и меню появляются только в том случае, если это предусмотрено надстройкой. Если в надстройке не реализован визуальный интерфейс, а присутствуют лишь функции пользователя или процедуры, запускаемые не с панели - то панель не появится.

Первую версию своей надстройки!SEMTools для Excel. За минувший год было множество минорных обновлений, о которых я рассказывал только на своей странице в Facebook. Но сейчас версия претерпела значительные изменения и улучшения, что можно назвать мажорным обновлением, о чем и хочется рассказать.

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

Инструкция по установке

1. При скачивании сохраните файл в директории, которую не планируете перемещать и точно не удалите (например, в отдельной папке прямо в корне диска). Не нужно открывать файл.

2. Перейдите в «Параметры Excel» и найдите пункт «Надстройки», нажмите на кнопку «Перейти».

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

Жмите «ОК». Готово! Теперь все должно работать, при каждом запуске Excel будет загружаться и эта надстройка, и все функции и макросы в ней.

Если панель SEMTools не появляется, возможно, ее блокирует защита операционной системы. Чтобы исправить, нажмите на файл правой кнопкой мыши, откройте свойства и кликните на кнопку «Разблокировать»:

Начнем с визуальных отличий. Так надстройка после установки выглядела раньше:

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

Сейчас надстройка выглядит так:

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

Я распределил макросы в разные блоки по методу взаимодействия с данными (мне это показалось наиболее подходящим).

Особенности, которые необходимо учитывать при работе с надстройкой:

  1. Все макросы ОБНАРУЖИТЬ, УДАЛИТЬ, ИЗМЕНИТЬ и ИЗВЛЕЧЬ, а также макрос лемматизации манипулируют исходным содержимым ячеек и могут изменить его (что практически всегда происходит), поэтому их нельзя исполнять на исходных данных. Их нужно копировать в отдельный столбец рядом и работать уже с ним.
  2. Природа всех макросов такова, что они стирают всю историю изменений, поэтому после выполнения макроса пути назад нет. Будьте осторожны;)
  3. Еще из особенностей (это касалось и предыдущей версии): макросы работают только с одним столбцом. Если выделить два и более столбца данных, как правило, макрос сработает только на данных из первого столбца. Но может выдать ошибку.
  4. Надстройка работает в Excel 2010 и позднее, как в 32-битной, так и в 64-битной версии. В Excel 2007 и ранее стабильная работа не гарантируется.
  5. С Excel for Mac совместимости нет и не будет.

Пробежимся по разделам.

Обнаружить

Все макросы на этой панели возвращают два значения — ИСТИНА или ЛОЖЬ — в зависимости от того, было обнаружено в строке искомое или нет. Ищут, соответственно, латинские буквы, цифры и украинские буквы и сочетания символов.

Удалить

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

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

Какие символы можно удалить:

  1. Всю пунктуацию. Этот скрипт использует синтаксис регулярных выражений и поэтому может выполняться сравнительно долго на больших массивах данных (десятки-сотни тысяч строк);
  2. Лишние пробелы. Этот скрипт использует аналог функции «СЖПРОБЕЛЫ» в VBA и работает довольно шустро на любых объемах;
  3. Модификаторы у стоп-слов. Это исключительно про контекстную рекламу.

Какие слова можно удалить:

  • слова, состоящие из одних цифр;
  • стоп-слова;
  • повторы слов.

Также в этом разделе остался макрос из предыдущей версии — удаление UTM-меток — и добавлен простенький макрос удаления формул из выделенного диапазона.

Изменить

Макросы преобразования данных. Теперь все операции работы с регистром и операторами соответствия собраны в меню.

В этот раздел добавлены:

    Исправление заглавных букв у топонимов. Макрос обращается к данным из моего файла, лежащего в Google Документах и доступного по прямой ссылке . Это позволяет вносить в него изменения, не меняя код самой надстройки, и не утяжеляет ее на несколько мегабайт. Дело в том, что, чем легче надстройка, тем быстрее будет загружаться ваш Excel, так как все надстройки загружаются вместе с ним каждый раз при его открытии. Если есть что добавить в список — всегда готов!

    Функции транслитерации и обратного преобразования.

    Функция «Инвертировать». Она может понадобиться в тех редких случаях, когда необходимо определить и упорядочить фразы по их окончаниям.

Извлечь

Эти скрипты извлекают данные и возвращают пустоту, если искомое не найдено.

Из совершенно новых:

    Макрос извлечения прилагательных (определяет и извлекает прилагательные по характерным для них окончаниям). Если хотите посмотреть, какие эпитеты использует ваша целевая аудитория при формировании поискового запроса, и на основе собранной статистики составить тексты или контент сайта — разработка для вас!

    Длина текста в пикселях. Этот макрос разработан Евгением Юдиным, он помогает определять идеальную длину заголовков, которая позволила бы им обоим уместиться в рекламной выдаче на поиске Яндекса. Рекомендую почитать соответствующий его материал .

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

Другое

Макрос составления частотного словаря и макрос генерации линейных комбинаций списков уже были в прежней версии.

Из новшеств для надстройки:

    Перенесен из моего знакомого многим файла «Робот-распознаватель» макрос лемматизации по словарю. Это одно из немногих решений в открытом доступе, которое позволяет лемматизировать десятки и сотни тысяч фраз в считанные секунды. К сожалению, словарь лемматизации, как и словарь топонимов, тоже подгружается извне, так как весит 22 МБ и далеко не всегда может быть нужен. Подгружаемые данные открываются в отдельной книге.

    Макрос «Развернуть кроссминусовку» преобразовывает однострочную минусовку в формате Яндекс.Директа в формат Google AdWords.

    Макрос «Собрать столбцы» найден где-то в рунете. Замечательный скрипт, который собирает все данные на листе в один столбец в один клик. Иногда бывает очень необходимо.

    Макрос переноса любого файла выгрузки Директа в формат AdWords, будь то XLS, XLSX или CSV. Вместе с кроссминусовкой на уровне кампаний и ключевых фраз.

Внешние данные

Здесь наиболее интересными станут скрипты сбора данных с бесплатного на текущий момент API Bukvarix, он позволяет собирать семантику по фразе и по домену. Сбор семантики становится прост как никогда.

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

Пользовательские функции (UDF)

Что такое UDF, описано в предыдущей статье. Функции, которые присутствовали в предыдущей версии, стройным рядом мигрировали в текущую. К ним добавлены некоторые новые. Итоговый список функций теперь таков (x означает ячейка или строковые данные, rng — выбираемый диапазон):

  • УдалитьСловаИзСписка(ячейка; список 1 столбец)
  • НайтиСловаИзСписка(ячейка; список 2 столбца)
  • ЗаменитьСловаИзСписка(ячейка; список 2 столбца)
  • УдалитьПовторы(x)
  • слов(x)
  • ТочноеДиректИлиФразовоеAdWords(x)
  • ФразовоеДиректИлиТочноеAdWords(x)
  • ЗакрепитьСловоформы(x)
  • ТочноеСоСловоформами(x)
  • ПроставитьМодификаторы(x)
  • SentenceCase(x)
  • ЕстьУкраинский(x)
  • ЕстьЛатиница(x)
  • БезПунктуации(x)
  • БезМинусСлов(x)
  • ИзвлечьЛатиницу(x)
  • ИзвлечьЦифры(x)
  • ВсеСБольшой(x)
  • ЛатиницаСБольшой(x)
  • ГородаСБольшой(x) — капитализация имен собственных (работает только, если подгружен файл словаря, который загружается при вызове макроса «Топонимы»).
  • БезUTMметок(x)
  • БезСловИзЦифр(x)
  • СортироватьАЯВнутриЯчейки(x)
  • НайтиАббревиатуры(x)
  • Левенштейн(x1; x2) — расстояние Левенштейна между 2 фразами.
  • ПохожиеФразы(x1; x2) — Истина или Ложь, в зависимости от того, насколько похожи фразы по чуть дополненному алгоритму подсчета расстояния Левенштейна.
  • ДлинаТекстаВПикселях(x; опционально 1 или 0). Второй параметр отвечает за то, хотим мы посмотреть длину жирного или простого текста. Если не использовать параметр, по умолчанию используется вариант жирный.
  • ReverseString(x) — строка наоборот.
  • Прилагательные(rng) — все прилагательные из строки.
  • Translit(x) — транслитерация строки.
  • UnTranslit(x) — обратная транслитерация.
  • Lemmatize(x) — лемматизация. Работает, если открыт и подгружен файл словаря, подгружается только макросом.

Планы по развитию надстройки

В ближайшее время я планирую:

  • реализовать кластеризацию по частотному словарю и по произвольному списку фраз (как в «Роботе-распознавателе»);
  • внедрить возможность проверять, появилась ли новая версия у надстройки, и получать ссылки на нее;
  • подключить больше открытых полезных для контекстной рекламы данных.

Один из самых значимых навыков, которые я приобрел, работая финансовым аналитиком, является умение создавать специальные пользовательские надстройки для моего отдела и компании в целом. Этот навык позволил сохранить время и нервы для большого количества народа. Потратив более года, на то, чтобы научиться создавать первоклассные надстройки, я понял одну вещь – это совсем не сложно! И сегодня я хочу поделится с вами методом построения Excel надстройки, которая выглядит очень здорово, и которая приносит вашей карьере некоторые бонусы.

Оригинал статьи находится по ссылке

Данная статья делится на 5 простых шагов:

Шаг 1: Загрузить бесплатный шаблон (Я сделал всю рутину, которая отнимает время)

Шаг 2: Связать ваш макрос и описание с кнопкой на ленте

Шаг 3: Протестировать кнопку и убедиться, что она работает

Шаг 4: Выбрать иконку для кнопки (Micosoft предлагает их тысячи бесплатно)

К чему мы должны прийти в конечном итоге:

Шаг 1: Загрузить шаблон

Я создал шаблон, в котором реализованы все основные рутинные операции. Этот шаблон позволит избежать траты вашего времени на создание сложного кода. Чтобы скачать его, .

Шаг 2: Связываем ваш макрос

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

  1. Скрываем не используемые группы и кнопки.

Открываем редактор Visual Basic (с помощью нажатия кнопок Alt + F11). Так как мы будем создавать ленту с одной единственной кнопкой, а шаблон содержит 50 кнопок, нам необходимо скрыть остальные 49. Чтобы сделать это, переходим в модуль RibbonSetup в программу GetVisible. Вы увидите Select Case цикл, который проходит через каждую кнопку и указывает ленте, будет ли кнопка видимой или скрытой. Так как мы ходим оставить только одну кнопку видимой, меняем аргумент переменной MakeVisible на False у всех кнопок, кроме одной.

  1. Добавляем код макроса

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

Возвращаемся в модуль RibbonSetup, переходим к процедуре RunMacro. Добавляем имя макроса, который мы добавили до этого, к соответствующей кнопке (необходимо переписать DummyMacro ).

  1. Добавляем надпись подсказки к макросу

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

  1. Добавляем имена вкладки, группы и кнопки

Чтобы закончить с настройкой кода, переходим в процедуру GetLabel, которая находится в модуле RibbonSetup. Точно так же, как мы добавляли текст вплывающей подсказки, вы можете добавить надписи, которые будут отображаться рядом с кнопкой на ленте.

К примеру, назовем нашу вкладку Company, нашу группу PasteSpecial, а кнопку Вставить значения. Из рисунка ниже понятно, что необходимо поменять аргумент переменной Labeling на текcт, который мы хотим отобразить на ленте.

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

Шаг 3: Проверка работоспособности

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

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

Шаг 4: Выбор иконок

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

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

Как получить названия иконок?

Есть несколько ресурсов, где можно получить названия иконок для ленты, но лично я предпочитаю Excel файл, созданный компанией Microsoft, под названием Office 2007 Icons Gallery . В этом файле отображены все иконки, имеющиеся в наличии и находятся во вкладке Разработчик в 9 папках на ленте. Если вы наведете курсор мыши на иконку, программа отобразит всплывающую подсказку с названием иконки. Вам необходимо скопировать это имя дословно (с учетом регистра) и добавить его в макрос процедуры GetImage , как мы делали ранее.

Как изменить размер иконки?

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

Чтобы изменить размер иконки, перейдите в процедуру GetSize и измените текст у соответвующей кнопки на Large или Small.

Шаг 5: Сохранить файл как надстройку

Последний шаг, который необходимо сделать – это сохранить наш файл как надстройку. Надстройки Excel имеют расширение . xlam, так что убедитесь, что вы выбрали именно этот формат, когда будете сохранять книгу. После того, как вы сохранили файл надстройки, вы можете закрыть шаблон (.xlsm формат) и установить новую надстройку в программу. Для этого открываем любой файл Excel, переходим во вкладку Файл в пункт Параметры. Перед нами появится диалоговое окно Параметры Excel, переходим во вкладку Надстройки. Щелкаем кнопку Перейти, в появившемся окне ставим галочку напротив названия нашей надстройки и жмем кнопку OK.

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

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

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

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

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

    Создание проекта надстройки VSTO Excel для Excel.

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

    Построение и запуск проекта для тестирования.

    Удаление завершенного проекта для прекращения автоматического запуска надстройки VSTO на компьютере разработчика.

Создание проекта надстройки VSTO Excel в Visual Studio

    Запустите Visual Studio.

    В меню Файл выберите пункт Создать , а затем команду Проект .

    В области шаблонов разверните узел Visual C# или Visual Basic , а затем узел Office/SharePoint .

    В развернутом узле Office/SharePoint выберите узел Надстройки Office .

    В списке шаблонов проектов выберите Надстройку Excel 2010 или Надстройку Excel 2013 .

    В поле Имя введите FirstExcelAddIn .

    Нажмите кнопку ОК .

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

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

    Частичное определение класса ThisAddIn . Этот класс предоставляет точку входа для кода и обеспечивает доступ к объектной модели Excel. Остальная часть класса ThisAddIn определяется в скрытом файле кода, изменять который не следует.

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

Добавление строки текста в сохраненную книгу

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

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

    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 = ; }

    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

    Если используется C#, добавьте в обработчик событий ThisAddIn_Startup указанный ниже код. Он используется для подключения обработчика событий Application_WorkbookBeforeSave к событию .

    This .Application.WorkbookBeforeSave += new Microsoft.Office.Interop.Excel.AppEvents_WorkbookBeforeSaveEventHandler(Application_WorkbookBeforeSave);

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

    Поле Application класса ThisAddIn . Поле Application возвращает объект , который представляет текущий экземпляр Excel.

    Параметр Wb обработчика событий для события . Параметр Wb является объектом , который представляет сохраняемую книгу. Для получения дополнительной информации см. .

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

    Нажмите клавишу F5 для построения и запуска проекта.

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