Записи с меткой "бесплатные надстройки". Создание надстройки Excel. Персональная книга макросов.

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

Описание: ExcelVBA - полезные надстройки для Excel, предназначенные для широкого круга задач. Тратите много времени на работу с программой Microsoft Excel? Ускорьте и упростите свою работу при помощи макросов: - всего лишь одно нажатие кнопки, и Excel сам выполнит за вас всю работу! Макросы могут делать почти всё то же самое, что делаете вы вручную, - собирать информацию из файлов, заполнять документы Word данными из Excel, рассылать почту, загружать данные из интернета, формировать отчёты любой сложности, анализировать данные при помощи формул, объединять информацию из прайс-листов, и многое-многое другое.

Подробное описание:
Lookup 1.1.1 - Программа подстановки данных из одного файла в другой (замена функции ВПР)
Если вам надо сравнить 2 таблицы (по одному столбцу, или по нескольким), и для совпадающих строк скопировать значения выбранных столбцов из одной таблицы в другую, надстройка «Lookup» поможет сделать это нажатием одной кнопки.

FillDocuments 2.4.7 - Программа заполнения документов данными из Excel (из Excel в Word) + рассылка почты
Надстройка FillDocuments предназначена для формирования (подготовки) документов по шаблонам, с заполнением созданных файлов данными из текущей книги Excel, с возможностью отправки писем.
В качестве шаблонов могут выступать следующие типы файлов:
шаблоны и документы Word (расширения DOC, DOCX, DOCM, DOT, DOTX, DOTM)
шаблоны и книги Excel (расширения XLS, XLSX, XLSM, XLSB, XLT, XLTX, XLTM)
текстовые документы (расширения TXT, DAT, XML и т.д.)
В качестве исходных данных для заполнения, используется открытый в Excel файл (с таблицей, содержащей строку заголовка)
Количество шаблонов документов неограничено (хотя в программе предусмотрен вывод предупреждения, если количество используемых шаблонов превышает 50 - поскольку время формирования документов напрямую зависит от количества файлов)
Рассылка писем выполняется средствами почтовых программ TheBAT! или Outlook (на ваш выбор)

RenameFiles 1.0.0 - Надстройка для переименования и копирования файлов
Надстройка предназначена для переименования файлов в заданной папке.
В качестве исходных данных (исходные и конечные имена файлов) выступает таблица Excel
В настройках программы задаётся, в каких столбцах таблицы Excel брать имена файлов.
При необходимости, можно указать префикс и суффикс для имен файлов.

Parser 2.2.3 - Парсер сайтов и файлов (сбор данных с сайта в Excel)
Программа предназначена для загрузки (парсинга) в Excel данных со страниц произвольного сайта.
Надстройка может работать и как парсер файлов, - собирать данные из файлов Word, xml, txt и т.п.
Исходными данными является список ссылок или артикулов товара на листе Excel, или же программа работает без исходных данных, загружая все данные с сайта, и формируя таблицу Excel «с нуля»
Программа может обрабатывать как исходный текст (HTML-код) веб-страниц, так и текст страницы или её части (полученный из HTML-кода)
Реализована загрузка файлов по ссылкам (ссылка для загрузки файла может браться из HTML-кода веб-страницы).
Скачанные файлы сохраняются в заданную папку под именем из выбранного столбца Excel (можно задать маску имени файла)

BarcodeScanner 1.1.1 - Сканер штрих-кодов: ввод данных в таблицу Excel
Программа предназначена для облегчения ввода данных со сканера штрих-кодов в таблицу Excel.
Вы нажимаете кнопку на сканере, - в таблице Excel автоматически находится считанный штрих-код, и в этой строке количество товара увеличивается на единицу.

Особенности программы:
2 режима фиксации ввода штрих-кода: по фиксированной длине, и по завершающему символу
возможность удаления части символов из считанного штрихкода
добавление новых (отсутствующих в таблице) штрих-кодов в конец таблицы
поддержка ячеек с несколькими штрихкодами одновременно
ввод количества товара с клавиатуры (если количество товара больше 1)
цветовая индикация результатов поиска (зеленый - штрихкод найден в таблице, красный - не найден, желтый - добавлена новая строка с этим штрихкодом)
В настройках программы можно задать:
номера столбцов со штрихкодами и количеством товара
включить режим добавления новых штрихкодов в таблицу Excel
задать столбец с ограничением количества товара для данной записи (строки)
настроить «горячую клавишу» для ввода количества с клавиатуры

PastePictures 3.3.4 - Надстройка для вставки картинок (изображений) в Excel
Надстройка позволяет искать в выбранной папке изображения, основываясь на содержимом ячеек таблицы Excel, и производить вставку найденных изображений в соседние ячейки (или в примечания к этим ячейкам).
Кроме того, надстройка умеет скачивать изображения по ссылкам, сохраняя загруженные изображения в заданной папке, и вставлять картинки в примечания к ячейкам.

Особенности надстройки:
поиск картинок в подпапках (глубина поиска по подпапкам не ограничена)
установка выбранного пользователем размера для вставляемых изображений
отображение состояния поиска и вставки изображений (прогресс-бар)
вывод результатов обработки таблицы (сколько изображений вставлено, сколько не найдено)
добавление гиперссылок к вставляемым изображениям (по щелчку на картинке открывается исходный файл)
2 режима поиска файлов - по точному совпадению имени файла, и по началу имени файла-изображения
2 режима вставки картинок - подгонка размеров под ячейку, или соблюдение пропорций исходного изображения
вывод количества файлов в выбранной папке
возможность выбора столбца с названиями файлов, и указания номера столбца для вставляемых изображений
возможность вставки изображений в комментарии к ячейкам
поиск недостающих фотографий товара в Google (в т.ч. поиск по заданным сайтам)
режим вставки изображений сразу в несколько столбцов

SearchText 1.0.1 - Надстройка для поиска на всех листах книги Excel
Надстройка SearchText предназначена для поиска заданного текста в книге Excel, с выводом результатов поиска на отдельный лист.

Процедура лечения:
Выберите для папки с надстройками удобное местоположение на жестком (не сетевом!) диске и не меняйте его, т.к. Excel будет в дальнейшем загружать надстройки из этой папки при каждом запуске.
Запустите Excel, перейдите в настройки безопасности, в параметрах макросов установите галочки: "Включить макросы" и "Доверять доступ к объектной модели проектов VBA"
В настройках Excel, на вкладке "Надстройки" нажмите "Перейти", укажите папку с надстройками и подключите требуемые надстройки.
Закройте Excel, отключите интернет.
С помощью кейгенов внесите в реестр регистрационные данные.
Запустите Excel, убедитесь что все надстройки зарегистрированы.
С помощью редактора реестра (regedit) заблокируйте программам доступ к следующим ключам:
HKEY_CURRENT_USER\Software\ExcelVBA\BarcodeScanner
HKEY_CURRENT_USER\Software\ExcelVBA\FillDocuments
HKEY_CURRENT_USER\Software\ExcelVBA\Lookup
HKEY_CURRENT_USER\Software\ExcelVBA\Parser
HKEY_CURRENT_USER\Software\ExcelVBA\PastePictures
HKEY_CURRENT_USER\Software\ExcelVBA\RenameFiles
HKEY_CURRENT_USER\Software\ExcelVBA\SearchText
в разрешениях дать доступ "только для чтения"
Подключите интернет.

Как разработчик вы можете использовать VBA для взаимодействия с управляемым кодом при автоматизации работы с документами и шаблонами. Однако используете ли вы все преимущества VBA? Если начиная новый проект Microsoft Office вы в первую очередь открываете Microsoft Visual Studio, возможно, вы делаете лишнюю работу.

Если требования проекта предполагают широкое использование возможностей управляемого кода, например, для интеграции серверов, более гибкого проектирования пользовательского интерфейса или использования технологии Microsoft Silverlight, можете сразу открывать Visual Studio. Однако если требования проекта можно удовлетворить с помощью более простого, быстрого в разработке (и потенциально более экономичного) решения, то, возможно, пришло время попробовать использовать VBA.

Не так давно у крупной компании возникли сложности с созданием простой надстройки в Visual Studio. Эта надстройка служила для добавления вкладки на ленту в приложениях Word, PowerPoint и Excel. Вкладка должна была содержать ссылки на ряд разделов справки.

Когда представители компании обратились ко мне за помощью, я спросил их, почему они не использовали VBA в таком простом случае. Оказалось, что никакой особой причины нет. Им просто не приходило в голову использовать что-то еще помимо Visual Studio. Итак, я открыл редакторы Visual Basic в приложениях Office 2010, и примерно через час были полностью готовы простые надстройки для Word, Excel и PowerPoint с пользовательским интерфейсом, который выглядел именно так, как планировалось изначально.

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

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

В следующих разделах приводятся сведения о создании файлов надстроек в приложениях Word, PowerPoint и Excel. Затем приводятся примеры типов задач, которые можно решать с помощью надстроек: от упрощения создания корпоративных документов до взаимодействия со встроенными возможностями Office 2010.

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

Создание надстройки Word

Надстройки VBA для приложения Word представляют собой глобальные шаблоны. Глобальные шаблоны устанавливаются так, что они остаются доступными вне зависимости от активного документа. Чтобы создать надстройку Word, необходимо создать DOTM-файл (шаблон Word с поддержкой макросов).

Порядок создания проекта VBA

    Открыв шаблон DOTM в приложении Word, на вкладке Разработчик в группе Код нажмите кнопку Visual Basic . Также можно нажать сочетание клавиш ALT+F11.

    В меню Insert (Вставка) выберите пункт Module (Модуль). В окне Properties (Свойства) задайте имя модуля.

    В меню Tools (Сервис) выберите пункт Project Properties (Свойства проекта), чтобы задать имя проекта, добавить его описание или настроить защиту с помощью пароля.

Ниже приведен код пользовательской надстройки справки. Скопируйте этот код в созданный модуль.

Важно!

Файлы, на которые ссылаются данные макросы, можно получить, загрузив руководства по продуктам Office 2010 и руководства по интерактивным меню на ленте в Центре загрузки Майкрософт. Файл-прототип, который можно использовать в качестве документа с рекомендациями по фирменной символике компании, можно найти в загружаемом пакете с примерами для данной статьи. Обратите внимание на то, что для тестирования надстройки необходимо сохранить эти файлы, используя путь и имена, указанные в макросах. Если используется другой путь и имена файлов, внесите соответствующие изменения в макросы.

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

Option Explicit Public oPath As String Sub CommandRef(ByVal Control As IRibbonControl) On Error GoTo Errorhandler "The FollowHyperlink method used in this procedure requires an open document. With Documents If .Count = 0 Then .Add End If End With "If you use the environmental variable for program files as shown here, "(which is usually advisable) rather than hard-coding the drive letter, "note that 64-bit machines that include both a Program Files x86 folder "and a Program Files folder may not point to the desired location. oPath = Environ("ProgramFiles" ) ActiveDocument.FollowHyperlink Address:=oPath & _ "\CompanyTools\CustomHelp\Word 2010\Word 2010 Guide.html" , NewWindow:=True Exit Sub Errorhandler: "Error 4198 occurs if the file name or path is not found. If Err.Number = 4198 Then MsgBox "The Word 2010 Interactive Guide is unavailable. " & _ , vbInformation End If End Sub Sub ProductGuide(ByVal Control As IRibbonControl) On Error GoTo Errorhandler With Documents If .Count = 0 Then .Add End If End With oPath = Environ("ProgramFiles" ) ActiveDocument.FollowHyperlink Address:=oPath & _ "\CompanyTools\CustomHelp\WordProductGuide.pdf" "The file "WordProductGuide.pdf" is unavailable. " & _ "Consult your local IT department for assistance." , vbInformation End If End Sub Sub BrandOverview(ByVal Control As IRibbonControl) On Error GoTo Errorhandler With Documents If .Count = 0 Then .Add End If End With oPath = Environ("ProgramFiles" ) ActiveDocument.FollowHyperlink Address:=oPath & _ "\CompanyTools\CustomHelp\Brand Guidelines.pdf" , NewWindow:=True Exit Sub Errorhandler: If Err.Number = 4198 Then MsgBox "The file "Brand Guidelines.pdf" is unavailable. " & _ "Consult your local IT department for assistance." , vbInformation End If End Sub

Чтобы установить глобальный шаблон, выйдите из приложения Word и сохраните файл в папку автозагрузки Word. При запуске приложения Word оно автоматически загружает глобальные шаблоны, находящиеся в этой папке. Однако чтобы надстройка могла загружаться, сначала необходимо добавить разметку Office Open XML для настраиваемой вкладки на ленте, как описано в следующем разделе.

В Microsoft Windows 7 и Windows Vista папка автозагрузки Word по умолчанию находится по следующему пути: C:\Users\[имя_пользователя]\AppData\Roaming\Microsoft\Word\Startup. Для управления глобальными шаблонами надстроек или проверки загрузки надстройки в приложении Word на вкладке Разработчик нажмите кнопку Надстройки .

Если необходимо изменить код после загрузки надстройки, откройте DOTM-файл в приложении Word. Приложение Word автоматически заменяет ранее загруженный экземпляр на открытый шаблон. Измените код в редакторе Visual Basic, сохраните изменения и закройте DOTM-файл. В загруженный экземпляр надстройки автоматически вносятся последние изменения, и он остается загруженным; перезапускать Word не требуется.

Примечание

Настройки пользовательского интерфейса, описываемые в этой статье, применимы только к Office 2010, но не к Office для Mac 2011. В приложении Word 2011 добавлять настраиваемые панели инструментов и меню в шаблон можно программным путем. Однако делать это можно и из самого приложения Word, не используя код. Для этого в меню Вид наведите указатель на пункт Панели инструментов и выберите пункт Настроить панели инструментов и меню .

Также имейте в виду, что на момент написания данной статьи для автоматической загрузки глобального шаблона при запуске приложения Word 2011 могло требоваться дополнительное действие. Если после выполнения приведенных выше инструкций шаблон не перезагружается, добавьте однострочный макрос в модуль глобального шаблона Normal.dotm, указывающий на то, какой макрос необходимо добавить. Код этого макроса имеет следующий вид (в коде укажите путь и имя файла соответствующего глобального шаблона):

Sub AutoExec()AddIns.Add fileName:="", Install:=TrueEnd Sub

Создание настраиваемого пользовательского интерфейса для надстройки

Возможно, вы уже используете служебную программу для настройки ленты в документе или шаблоне, однако добавление разметки вручную позволяет делать это так же легко и быстро. Так же как и в случае с разметкой Office Open XML, для написания разметки можно использовать "Блокнот" в Windows или любой другой текстовый редактор. Однако в этом случае может оказаться полезным использование продукта Visual Studio, поскольку он позволяет обращаться к схеме настройки ленты, предоставляя доступ к возможностям технологии IntelliSense.

Примечание

При выполнении указанных ниже действий предполагается, что необходимо открыть пакет документов и вручную добавить в файл элемент customUI. Если ранее вам не приходилось делать этого, это хороший повод ознакомиться со структурой Office Open XML документа. Если у вас имеется опыт изменения пакета документов Office Open XML и вы используете Visual Studio 2010, вы можете воспользоваться средством Open XML Package Editor Power Tool, чтобы открыть документ или шаблон непосредственно в Visual Studio. Это поможет уменьшить число необходимых действий, поскольку это средство позволяет добавлять папки непосредственно в пакет, упрощает добавление отношений и автоматически управляет типами контента при добавлении фрагмента или файла.

Для построения структуры элемента customUI также можно использовать дополнительные средства, например бесплатное средство Custom UI Editor , которое автоматически добавляет необходимые фрагменты и предоставляет образцы разметки customUI.xml.

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

Порядок добавления разметки customUI в документ или шаблон Office 2010

Рис 1. Результат разметки customUI


    использование элемента управления "Разворачивающаяся кнопка";

    добавление настраиваемых элементов на встроенную вкладку ленты;

    настройка положения элементов управления на вкладке или вкладок на ленте;

    использование VBA с разметкой customUI для управления видимостью элементов управления.

Создание надстройки PowerPoint

Чтобы создать надстройку PowerPoint, сначала необходимо создать файл презентации PowerPoint с поддержкой макросов (PPTM). В приложении PowerPoint для надстроек используется уникальный формат файлов (PPAM), доступный только для чтения. Поэтому код пишется и изменяется в PPTM-файле, копия которого сохраняется как PPAM-файл надстройки.

Порядок создания надстройки PowerPoint

Порядок загрузки надстройки PowerPoint

    В приложении PowerPoint на вкладке Разработчик нажмите кнопку Надстройки .

    Щелкните Добавить .

    Выберите сохраненный файл и нажмите кнопку Открыть .

    Если появится сообщение системы безопасности, щелкните Включить макросы .

По умолчанию загруженные файлы надстроек PowerPoint не появляются в области Окно проекта редактора Visual Basic. Чтобы просматривать и открывать загруженные проекты PPAM, необходимо добавить параметр в реестр Windows. В разделе HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\PowerPoint\Options добавьте параметр типа DWORD с именем DebugAddins и значением 1 . После этого перезапустите приложение PowerPoint. Обратите внимание на то, что можно просматривать, экспортировать и копировать содержимое из загруженного проекта PPAM. Также можно вносить изменения, чтобы проверять их работу в загруженной надстройке, что делает очень удобным устранение неполадок и тестирование новых возможностей при разработке надстроек. Однако сохранять изменения непосредственно в файл загруженной надстройки нельзя.

Создание надстройки Excel

Из трех приложений, рассматриваемых в этой статье, создавать надстройки для приложения Excel, пожалуй, проще всего, поскольку можно сохранить файл в формате надстройки Excel (XLAM), загрузить сохраненный файл надстройки и затем писать и изменять код непосредственно в загруженном файле надстройки.

Порядок создания и загрузки надстройки Excel

    Создайте файл Excel и сохраните его в формате Надстройка Excel (*.xlam) . Приложение Excel автоматически сохраняет файл в папке надстроек Майкрософт.

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

    Откройте редактор Visual Basic. Затем создайте проект и добавьте содержимое в соответствии с инструкциями в предыдущих разделах, посвященных надстройкам Word и PowerPoint.

    Если копируется код VBA из раздела, посвященного надстройке Word, измените ссылки на объект коллекции Documents и объект ActiveDocument на ссылки на объекты Workbooks и ActiveWorkbook соответственно. Также измените ссылки на файлы Word на ссылки на соответствующее содержимое Excel. Руководство по продукту Excel и руководство по интерактивному меню на ленте для этой надстройки можно загрузить по приведенным выше ссылкам.

    Выйдите из приложения Excel и перейдите к папке Надстройки Майкрософт , чтобы найти созданный файл надстройки.

    Добавьте разметку customUI в файл надстройки.

    Если используются разметка и код, приведенные выше для надстройки Word, внесите необходимые изменения в атрибуты (например, текст меток и всплывающих подсказок) для содержимого Excel. Чтобы настроить пользовательский интерфейс, необходимо выполнить приведенные выше инструкции по изменению файлов RELS и .xml, содержащихся в файле Excel.

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

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

    Настройки ленты не отображаются. Если при открытии файла с разметкой customUI (или при загрузке надстройки) настройки ленты не отображаются, скорее всего, причина кроется в синтаксической ошибке. Проверьте созданный файл customUI.xml и файл RELS, в который было добавлено отношение.

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

      Также проверьте определение отношения, добавленное в файл RELS, чтобы убедиться в том, что путь соответствует папке и имени файла, в котором была сохранена разметка customUI.

    Процедура не выполняется. Если при щелчке элемента управления надстройки на ленте процедура не выполняется, проверьте следующее.

    • Совпадает ли в разметке customUI имя процедуры, используемое в атрибуте OnAction для данного элемента управления, с именем процедуры в коде VBA?

      Объявлена ли разметка customUI в процедуре, используемой в качестве значения атрибута OnAction , как элемент управления ленты в коде VBA?

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

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

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

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

При изучении этих принципов помните, что большая часть приводимого кода VBA может применяться к приложениям Word, PowerPoint или Excel вне зависимости от того, какое приложение используется в конкретном примере.

Автоматизация задач создания документов

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

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

Надстройка в этом примере содержит одну пользовательскую форму и три модуля.

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

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

    Второй модуль предназначен для элементов управления ленты.

    Третий модуль содержит код для создания настраиваемых документов.

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

Порядок сбора и сохранения пользовательских данных



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

Порядок создания настраиваемого документа

Создание пользовательского интерфейса для надстройки

В пользовательском интерфейсе надстройки в данном примере используется элемент управления "Разворачивающаяся кнопка", который помещается на вкладке "Главная" после группы "Абзац", как показано на рис. 4. Чтобы создать этот настраиваемый элемент ленты, выполните шаги 1–4 в приведенном выше примере использования customUI. В шаге 2 используйте следующую разметку.

Рис. 4. Настраиваемый элемент надстройки на вкладке "Главная"


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

Примечание

Многие события приложений, рассматриваемые в следующем разделе, не поддерживаются в Office для Mac 2011. В PowerPoint 2011 события приложения не поддерживаются, а в Word 2011 их поддержка ограничена. Однако в Excel для Mac 2011 можно использовать те же действия для настройки модуля проекта VBA и модуля класса, а также просматривать доступные события приложения. Начальные сведения об использовании событий приложения в Word или Excel см. в примечании после описания процедуры в следующем разделе. Также обратите внимание на то, что в Word 2011 поддерживаются события уровня документа, а в PowerPoint 2011 поддерживается ряд макросов, связанных с показом слайдов.

Взаимодействие с событиями приложения

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

События уровня документа чаще используются в коде VBA, предназначенном для работы с отдельным документом или шаблоном. Также в надстройку можно включать код для взаимодействия со встроенными функциями документа или шаблона. Однако события уровня приложения зачастую более удобны для использования в надстройках, поскольку их можно встраивать непосредственно в надстройки Word, PowerPoint или Excel, чтобы обеспечивать реакцию на действия пользователя.

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

Примечание

Выбор этого примера для статьи обусловлен тем, что он позволяет устранить распространенную причину недовольства пользователей, которое особенно часто возникает в компаниях, выполняющих миграцию с версии Microsoft Office, использующей устаревшие форматы файлов (Office 2003 или более ранняя версия), на Office 2010 (или Office 2007). Когда пользователи копируют слайды из презентаций, созданных в более ранней версии приложения, они часто используют команду "Сохранить исходное форматирование", чтобы добиться единообразного оформления слайдов в презентации. Однако на самом деле при каждом использовании этой команды добавляется еще один образец и набор макетов. В результате получаются презентации с непомерно большим числом образцов, несогласованным форматированием и чрезмерным размером файлов, которые пользователи и специалисты службы поддержки могут расценивать как поврежденные. Средство, аналогичное приведенному в примере кода, может помочь пользователям избежать чрезмерного усложнения презентаций, затрудняющего управление ими, информируя их о последствиях определенных действий.

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

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

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

Программное управление пользовательским интерфейсом надстройки

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

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

Для данного проекта VBA требуется модуль, который будет содержать процедуры элемента управления ленты, пользовательская форма для выбора пользователем настройки, а также код в объекте ThisWorkbook надстройки для создания события, выполняющего код при каждом запуске приложения Excel пользователем.

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

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

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

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

Многие разработчики твердо уверены, что работа над проектом должна начинаться в окне кода. Однако следует помнить, что приложения, работу с которыми вы автоматизируете, - будь то с помощью управляемого кода или с помощью VBA - сами по себе обладают достаточно широкими и гибкими возможностями. Простое решение для автоматизации, скорее всего, можно реализовать простым способом без написания кода (или того, что мы обычно имеем в виду под написанием кода). Например, связанные элементы управления содержимым и коды полей в Word обеспечивают динамическое поведение, так же как и функции в Excel. Вне зависимости от того, является ли использование VBA или функций, доступных в окнах приложений, целесообразным в рамках проекта, необходимо рассмотреть возможные варианты, оценить требования и выбрать оптимальные средства для решения данной конкретной задачи.

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

Стефани Кригер (Stephanie Krieger) - автор двух книг: "Advanced Microsoft Office Documents 2007 Edition Inside Out" ("Современные документы Microsoft Office 2007: полное руководство") и "Microsoft Office Document Designer" ("Создание документов Microsoft Office"). Как профессиональный консультант по работе с документами она оказала помощь многим глобальным компаниям в разработке корпоративных решений для Microsoft Office на обеих платформах. Выход ее новой книги, посвященной возможностям Office 2010 и Office для Mac 2011, намечен на весну 2011 г.

процесс однотипный для всех версий, но имеет и некоторые различия. Условно можно разбить механизм установки надстроек в 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, то через окно "Обзор" просто добираетесь до того места, где был изначально сохранен файл надстройки. Дважды кликаете по выбранному файлу и надстройка доба вляется в список доступных надстроек. Все, надстройка установлена. Обращаю Ваше внимание на то, что если после установки файл надстройки будет перемещен в другое место жесткого диска, либо название папки, в которой он находится будет изменено, то весь процесс установки придется повторить заново.

Некоторые надстройки, такие как "Пакет анализа" и "Поиск решения", встроены в Excel. Другие доступны в Центре загрузки, и их необходимо предварительно скачать и установить. Кроме того, некоторые надстройки создаются сторонними организациями, например поставщиками программных решений или программистами. Это могут быть надстройки модели COM, надстройки Visual Basic для приложений (VBA) и надстройки DLL. Они также требуют установки.

Большинство надстроек можно разделить на три типа, описанных ниже.

    Надстройки Excel. Обычно к этому типу относят файлы надстроек Excel (XLAM), Excel 97–2003 (XLA) и надстроек DLL (XLL), а также надстройки автоматизации. Некоторые надстройки Excel, такие как "Пакет анализа" и "Поиск решения", становятся доступны после установки Microsoft Office или Excel. Для использования этих надстроек в большинстве случаев нужно лишь активировать их.

    Скачиваемые надстройки. Дополнительные надстройки для Excel можно скачать и установить со страницы Загрузки на сайте Office.com.

    Пользовательские надстройки Многие разработчики и поставщики решений создают пользовательские надстройки COM, надстройки автоматизации, VBA и XLL. Чтобы их можно было использовать, их нужно установить.

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

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

Добавление или удаление надстройки Excel

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

Активация надстройки Excel

    На вкладке Файл выберите команду Параметры , а затем - категорию Надстройки .

    В поле Управление выберите пункт Надстройки Excel , а затем нажмите кнопку Перейти .

    Откроется диалоговое окно Надстройки .

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

Если в окне Доступные надстройки не удается найти надстройку, которую требуется активировать, возможно, ее требуется установить.

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

    Чтобы установить надстройку, которая обычно устанавливается вместе с Excel, например "Пакет анализа" или "Поиск решения", запустите программу установки Excel или Microsoft Office и выберите вариант Изменить , а затем выберите требуемую надстройку. После перезапуска Excel она должна появиться в поле Доступные надстройки .

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

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

    Другие надстройки, отсутствующие на компьютере, можно скачать и установить с помощью веб-браузера со страницы Загрузки или с других сайтов в Интернете или на сервере организации. Чтобы скачать их, следуйте инструкциям по установке.

Деактивация надстройки Excel

    На вкладке Файл выберите команду Параметры , а затем - категорию Надстройки .

    В поле Управление выберите пункт Надстройки Excel , а затем нажмите кнопку Перейти .

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

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

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

Удаление надстройки Excel

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

    Откройте вкладку Файл и выберите пункт Выход .

    Выберите в панели управления пункт Программы и компоненты (для Windows 7 и Windows Vista) или Установка и удаление программ (для Windows XP).

    Выполните одно из следующих действий:

    • Если приложение Excel было установлено в составе пакета Microsoft Office, в списке установленных программ выберите пункт Microsoft Office , а затем нажмите кнопку Заменить .

      Если приложение Excel было установлено отдельно, в списке установленных программ выберите название программы, а затем нажмите кнопку Заменить .

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

    Следуйте инструкциям программы установки.

Добавление или удаление надстройки COM

Важно:

Добавление надстройки COM

    На вкладке Файл выберите команду Параметры , а затем - категорию Надстройки .

    В поле Управление щелкните Надстройки COM , а затем нажмите кнопку Перейти .

    Откроется диалоговое окно Надстройки COM .

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

    Совет. Если нужная надстройка отсутствует в поле Список надстроек , нажмите кнопку Добавить , а затем найдите надстройку.

Удаление надстройки COM

    На вкладке Файл выберите команду Параметры , а затем - категорию Надстройки .

    В поле Управление щелкните Надстройки COM , а затем нажмите кнопку Перейти .

    Откроется диалоговое окно Надстройки COM .

    В поле Список надстроек снимите флажок той надстройки, которую нужно удалить, а затем нажмите кнопку ОК .

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

    Чтобы удалить надстройку COM из списка доступных надстроек и с компьютера, щелкните ее имя в поле Список надстроек , а затем нажмите кнопку Удалить .

Добавление или удаление надстройки автоматизации

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

    На вкладке Файл выберите команду Параметры , а затем - категорию Надстройки .

    В поле Управление выберите пункт Надстройки Excel , а затем нажмите кнопку Перейти .

    Откроется диалоговое окно Надстройки .

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

    Совет Если нужной надстройки нет в списке, нажмите кнопку Обзор , найдите нужную надстройку, а затем нажмите кнопку ОК .

    Чтобы удалить надстройку автоматизации, ее нужно удалить из реестра. За дополнительными сведениями обратитесь к системному администратору.

Записи с меткой "Бесплатные надстройки"

Надстройка пригодится тем, кто любит раскрашивать свои таблицы разными цветами или кому приходится работать с подобными таблицами. Сама надстройка содержит несколько функций для работы с цветными ячейками. Cell_Font - Функция возвращает числовой код цвета шрифта указанной ячейки Cell_Color - Функция возвращает числовой код заливки указанной ячейки Summ_CellColor - Функция суммирует значения ячеек, закрашенных в определенный цвет Summ_CellFont - Функция суммирует значения ячеек по указанному цвету шрифта Summ_CellFormat - Функция суммирует значения ячеек с...

Долго держал в закромах эту надстройку - она долгое время была частью моей старой надстройки MyAddin (которая впоследствии переросла в MulTEx) - Координатное выделение строки и столбца Надстройка пригодится тем, кто часто работает с большими таблицами, просматривая их и сопоставляя данные в строках и столбцах. Что дает эта надстройка? Она выделяет столбец и строку таблицы на пересечении выделенной ячейки, благодаря чему можно просмотреть все данные в столбце и строке активной ячейки, не перепроверяя себя лишний раз – "А в том ли столбце я смотрю...

Данная надстройка очень и очень проста. Она всего лишь меняет стиль ссылок в книге(если был R1C1 - меняет на А1 и наоборот). Более подробно про стили ссылок можно прочитать в статье: Почему столбцы стали цифрами или как сменить стиль ссылок. Конечно, это можно сделать и без надстроек, но с надстройкой гораздо проще и удобнее. Скачать надстройку: ChangeRefStyle.zip (9,1 KiB, 6 280 скачиваний) Как установить надстройку: Установка...

Надстройка проста до безобразия - после её установки на панель будет добавлен выпадающий список со всеми листами активной книги: Список листов обновляется после: создания новой книги; добавления нового листа; открытия книги; удаления листа; активации книги. Так же на панели отображается всегда именно активный лист активной книги. Чем может быть полезна надстройка? Её использование несколько удобнее, чем стандартное перемещение по листам, особенно при большом количестве листов в книге. Если кто не знает про стандартное средство....

Что это такое методы LiFo и FiFo? В принципе, разрабатывая данную надстройку я рассчитывал на то, что люди, которые будут ей пользоваться уже знают что это за методы. Но не исключаю того варианта, что надстройкой будут пользоваться люди, не имеющие понятия о методах LIFO и FIFO, но в силу рода своей деятельноси им все же понадобилось это знать или использовать. Поэтому решил в общих чертах ввести в общий курс дела. LIFO(от английского Last In, First Out - последним пришел, первым ушел) - метод бухгалтерского учёта товарно-материальных ценностей (в дальнейшем...

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

Надстройка предназначена для удаления лишних символов из словосочетаний и перестановки заданных аббревиатур и слов(ПБОЮЛ, ОАО, ООО и т.д.) из указанного места строки в конец. Для примера в описании взяты названия организаций. Конечно же, каждый может придумать свое применение, т.к. не обязательно это должны быть названимя организаций - это могут быть любые слова и символы. Особенность надстройки - вы можете сами создавать, менять списки для замены/перестановки. Надстройка включает в себя: Функцию для изменения названий...



Поддержите проект — поделитесь ссылкой, спасибо!
Читайте также
Игра петушиные бои правила Игра петушиные бои правила Мод для майнкрафт 1.7 10 смотреть рецепты. Рецепты крафтинга предметов в Minecraft. Оружие в Minecraft Мод для майнкрафт 1.7 10 смотреть рецепты. Рецепты крафтинга предметов в Minecraft. Оружие в Minecraft Шиллинг и стерлинг - происхождение слов Шиллинг и стерлинг - происхождение слов