Профессиональные приемы работы в Microsoft Excel

Пожалуйста, войдите или зарегистрируйтесь.


Расширенный поиск  

Новости:

Теперь на форум можно залогиниться / зарегистрироваться с помощью ВКонтакте. Уже существующие пользователи могут связать свою учетную запись с аккаунтом ВКонтакте одним кликом в профиле пользователя http://forum.msexcel.ru/index.php?action=profile;area=account

Автор Тема: Создание надстроек  (Прочитано 25691 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Коша

  • Пользователь
  • **
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 16
Создание надстроек
« : 08.06.2008, 12:24:37 »

Не могли бы вы рассказать про создание надстроек в MS Excel? Чтобы при подключении создавалась новая панель с нужными кнопками на которые подвешены макросы. Если есть какие то ссылки для чайников, пожалуйста...    :'(


P.S. Ооооооочень надо, оооооочень срочно....
« Последнее редактирование: 08.06.2008, 18:08:53 от Коша »
Записан

Шпец Докапыч

  • Ветеран
  • *****
  • Уважение: +189/-4
  • Оффлайн Оффлайн
  • Сообщений: 1 918
  • ОБЛАДАТЕЛЬ УНИКАЛЬНЫХ НАВЫКОВ!!! :)
Re: Создание надстроек
« Ответ #1 : 08.06.2008, 18:44:26 »

Не могли бы вы рассказать про создание надстроек в MS Excel?

Расскажу, немного :) Создание самой надстройки и её прикручивание проблем не составляет: сохраняем книгу как .xla, после чего через обзор в списке надстроек можно выбирать. В нашей надстройке нужен макрoc, который, при её инициализации, будут добавлять панельки, на панельки кнопочки, на кнопочки коды... За это отвечает Workbook_AddinInstall. Подробнее по ссылкам:
Записан
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли

Шпец Докапыч

  • Ветеран
  • *****
  • Уважение: +189/-4
  • Оффлайн Оффлайн
  • Сообщений: 1 918
  • ОБЛАДАТЕЛЬ УНИКАЛЬНЫХ НАВЫКОВ!!! :)
Re: Создание надстроек
« Ответ #2 : 08.06.2008, 19:36:24 »

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

Вот ещё, в нагрузку, простейший пример:
Private Sub Workbook_AddinInstall()
With Application.CommandBars("Worksheet Menu Bar").Controls 'работаем с менюшкой
  Set SH = .Add(Type:=msoControlPopup, Before:=.Count) 'создаём новый пункт
  SH.Caption = "ШпецМеню" 'обзываем его
End With
  Set ПУНКТ = SH.Controls.Add(Type:=msoControlButton, Before:=1) 'добавляем подпункт
      ПУНКТ.Caption = "ШамыйПервый" 'обзываем его
      ПУНКТ.OnAction = "НашаНадстройка.xla!Макрос1" 'привязываем код
End Sub

PS: Также следует научиться убирать за собой после отключения надстройки :)
Записан
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли

Коша

  • Пользователь
  • **
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 16
Re: Создание надстроек
« Ответ #3 : 08.06.2008, 19:47:46 »

Спасибо, Шпец :)
Записан

Коша

  • Пользователь
  • **
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 16
Re: Создание надстроек
« Ответ #4 : 08.06.2008, 22:33:10 »

Кстати, может ещё поможете на счёт панелек и кнопочек? Как их сделать, я поняла, только один вопрос.

'Создание кнопок с рисунком
        With .Add(Type:=msoControlButton, ID:=???)
             .TooltipText = "Формирование списков"
             .OnAction = "FormSp"
        End With

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

Шпец Докапыч

  • Ветеран
  • *****
  • Уважение: +189/-4
  • Оффлайн Оффлайн
  • Сообщений: 1 918
  • ОБЛАДАТЕЛЬ УНИКАЛЬНЫХ НАВЫКОВ!!! :)
Re: Создание надстроек
« Ответ #5 : 08.06.2008, 23:44:39 »

Может, Вам понравится больше такой вариант:
      ПУНКТ.Picture = stdole.StdFunctions.LoadPicture("C:\МояКартинка.bmp")
Причём картинка не обязательно должна быть 16х16. С высоким расширением она становится лишь ярче  ;)
« Последнее редактирование: 08.06.2008, 23:55:16 от Шпец Докапыч »
Записан
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли

Коша

  • Пользователь
  • **
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 16
Re: Создание надстроек
« Ответ #6 : 09.06.2008, 00:01:40 »

Спасибо ещё раз :) Будем пробовать...
Записан

Коша

  • Пользователь
  • **
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 16
Re: Создание надстроек
« Ответ #7 : 16.06.2008, 00:32:49 »

Появилась проблема с надстройкой... Прикручиваю нормально, панельку рисует, но не запускает макросы по нажатию на кнопки.
Выдаёт ошибку: Object variable or with block variable not set...
Выкладываю надстройку и файл, который должен идти вместе с ней для её работы...
Записан

elenaorlova

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 1
А у нас опять холодно....
« Ответ #8 : 27.05.2010, 08:53:20 »

Да, есть над чем подумать....
Записан

Raikhman

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 3
Re: Создание надстроек
« Ответ #9 : 14.10.2011, 23:56:33 »


Советую заглянуть на сайт http://excelvba.ru
Там серьезный человек, который делает такие штучки под заказ, или, подскажет реально.
« Последнее редактирование: 15.10.2011, 00:00:38 от Raikhman »
Записан

EducatedFool

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 6
Re: Создание надстроек
« Ответ #10 : 16.10.2011, 02:14:09 »

Раз уж тут прорекламировали мой сайт, дам и ссылку на пример надстройки, создающей при запуске панель инструментов:
http://excelvba.ru/tools/CommandBar
Записан

Prist

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +101/-0
  • Оффлайн Оффлайн
  • Сообщений: 736
  • Errare humanum est, stultum est in errore persever
    • Excel-VBA
Re: Создание надстроек
« Ответ #11 : 29.08.2014, 16:21:36 »

Дополню ссылкой на статью с описанием создания надстроек:
Как создать свою надстройку?
Записан
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
www.excel-vba.ru
Просто СПАСИБО [+оказать+]
Считаешь СПАСИБО мало? Яндекс.Деньги: 41001332272872; WM: R298726502453
 



Темы без ответов

13.06.2017 00:27 Сводная таблица: как не вручную отсортировать в опред. порядке (не Custom List) 98
23.05.2017 11:20 Копирование данных из одной таблицы в умную таблицу по условию 348
18.05.2017 15:45 Не работает гиперссылка при копировании. 202
15.03.2017 15:45 автозамена картинок PowerPoint 500
13.03.2017 07:09 Использование базы КЛАДР в exel 735
11.03.2017 13:43 Изменить нумерацию страниц 689
10.03.2017 08:40 Как делать бекапы гугл таблицы? 583
18.02.2017 11:31 Изменить ввод данных помогите...из столбца в таблицу. 781
07.02.2017 18:43 Блокировка ячеек по наступлению даты 1011
12.12.2016 23:39 Расчет заказа по формуле, или использовать формулу Массива 1185





Яндекс цитирования msexcel.ru Яндекс.Метрика

Страница сгенерирована за 0.128 секунд. Запросов: 45.