Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Панель инструментов

3.8K
14 января 2005 года
corvin
31 / / 04.07.2004
Когда создается пользовательская панель инструментов, её можно расположить в любом месте экрана. Так вот когда распологаешь ее сбоку надписи на кнопках пореворачиваются вертикально, как можно сделать чтобы они были горизонтально?
275
15 января 2005 года
pashulka
985 / / 19.09.2004
Попробуйте воспользоваться нижеприведённым кодом :

Sub CreateNewLeftBar()

With Application.CommandBars.Add("NewLefBar", , False, True)
.Visible = True
.Position = msoBarLeft
With .Controls
With .Add(msoControlButton)
.Style = msoButtonWrapCaption
.Caption = "Кнопка"
.OnAction = "Macros1"
End With
With .Add(msoControlButton)
.Style = msoButtonIconAndWrapCaption
.Caption = "Макрос"
.FaceId = 92
.OnAction = "Macros2"
End With
End With
End With

End Sub

Обратите внимание на то, что эта возможность реализована начиная с MS Excel 2000 и выше. И второе, чем больше символов Вы используете в свойстве Caption, тем меньше у Вас остаётся рабочего/свободного пространства.
3.8K
17 января 2005 года
corvin
31 / / 04.07.2004
Цитата:
Originally posted by pashulka
Попробуйте воспользоваться нижеприведённым кодом :

Sub CreateNewLeftBar()

With Application.CommandBars.Add("NewLefBar", , False, True)
.Visible = True
.Position = msoBarLeft
With .Controls
With .Add(msoControlButton)
.Style = msoButtonWrapCaption
.Caption = "Кнопка"
.OnAction = "Macros1"
End With
With .Add(msoControlButton)
.Style = msoButtonIconAndWrapCaption
.Caption = "Макрос"
.FaceId = 92
.OnAction = "Macros2"
End With
End With
End With

End Sub



Спасибо большое всё работает!!!
Встречный вопрос, как можно малой кровью просмотреть все доступные FaceId, изображения?

275
17 января 2005 года
pashulka
985 / / 19.09.2004
В любом случае Вам придётся просмотреть значки для определения наиболее приемлемых. Для этого можно создать панель инструментов, а после визуального знакомства, выбрать нужные.

Sub CreateIconFaceId()

With Application.CommandBars.Add("FaceId", , False, True)
.Visible = True

With .Controls

For iFace = 1 To 3518

' в MS Excel 97 существует - 3518 ID, но существуют и "пустышки"
'
' Для визуального просмотра лучше создать несколько панелей
' инструментов, т.е. разбить этот цикл на несколько частей
'
' Обратите внимание на то, что каждая панель инструментов должна
' иметь своё уникальное имя.

With .Add(msoControlButton)
.Style = msoButtonIconAndCaption
.Caption = iFace
.FaceId = iFace
End With

Next

End With
End With

End Sub

P.S. А что означает термин встречный вопрос ? Я вроде Вам вопросов пока не задавал ?
3.8K
19 января 2005 года
corvin
31 / / 04.07.2004
Цитата:
Originally posted by pashulka
P.S. А что означает термин встречный вопрос ? Я вроде Вам вопросов пока не задавал ?


Это было не правильно употребление термина.
У меня к вам ещё вопросы:
1)как можно изменять размеры иконки на кнопке и шрифта, только на данной кнопке?
2)как можно, и можно ли вообще задать жестко размеры панели инструментов, чтобы она не меняла свои размеры под кнопки?
3) как можно на боковой панели расположить 2 кнопки рядом по горизонтали?
Заранее благодарен!!!

3.8K
20 января 2005 года
corvin
31 / / 04.07.2004
и ещё вопрос:
как панель созданную с помощью макроса сохранить в книге, чтобы при её открытии панель сама открывалась, а не после запуска макроса?
P.S. попытка вложить панель в книгу была неудачной
3.8K
21 января 2005 года
corvin
31 / / 04.07.2004
По вашему мнению это возможно сделать, чтобы я знал?
275
21 января 2005 года
pashulka
985 / / 19.09.2004
Здравствуйте, corvin

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

Cозданную нестандартную панель управления можно вложить в рабочую книгу, но для этого при создании панели .Add необходимо Temporary указать как False, т.е.

With Application.CommandBars.Add("NewLefBar", , False, False)

Примечание :
Temporary используется для того чтобы при закрытии приложения, нестандартная панель управления была удалена автоматически, без дополнительных программных действий, поэтому если Вы установили Temporary как False, то Вам придётся удалять панель программно, например при закрытии рабочей книги.
3.8K
22 января 2005 года
corvin
31 / / 04.07.2004
Цитата:
Originally posted by pashulka
Здравствуйте, corvin

With Application.CommandBars.Add("NewLefBar", , False, False)


Спасибо! Просто мне показалось что я задаю элементарные вопросы на которые и не отвечают.
И в тоже время я рад что сам нашел решение на ваш последний ответ.
Буду с нетерпением искать сам и ждать от вас ответа!

3.8K
12 февраля 2005 года
corvin
31 / / 04.07.2004
Если кому то понадобится размеры иконки в панелях можно изменить так:
Application.CommandBars.LargeButtons = true
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог