Фон кнопки на листе Excel

Программирование на Visual Basic for Applications
Евгений Д.
Обычный пользователь
Обычный пользователь
 
Сообщения: 96
Зарегистрирован: 21.09.2004 (Вт) 17:32
Откуда: Москва

Фон кнопки на листе Excel

Сообщение Евгений Д. » 28.10.2008 (Вт) 21:17

Народ, кто знает, можно ли установить фон контрола (кнопки) на листе Excel?

У меня хоть так:
Код: Выделить всё
Dim oShape As Shape

  Set oShape = ActiveSheet.Shapes.AddFormControl(Type:=xlButtonControl, _
        Left:=100, Top:=100, Width:=100, Height:=100)
       
  oShape.Fill.BackColor.SchemeColor = 35


хоть так:
Код: Выделить всё
Dim oShape As Shape

  Set oShape = ActiveSheet.Shapes.AddOLEObject(Left:=100, Top:=100, _
    Width:=100, Height:=100, ClassType:="Forms.CommandButton.1")
       
  oShape.Fill.BackColor.SchemeColor = 35


кнопка не красится!? По RGB:
Код: Выделить всё
oShape.Fill.BackColor.RGB = RGB(64, 128, 64)

- тоже никакого эффекта. Или у меня уже глаз "замылился"?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Фон кнопки на листе Excel

Сообщение alibek » 29.10.2008 (Ср) 8:29

Кнопка на UserForm? Или кнопка на листе? Если последняя, то она не красится.
Lasciate ogni speranza, voi ch'entrate.

Евгений Д.
Обычный пользователь
Обычный пользователь
 
Сообщения: 96
Зарегистрирован: 21.09.2004 (Вт) 17:32
Откуда: Москва

Re: Фон кнопки на листе Excel

Сообщение Евгений Д. » 29.10.2008 (Ср) 11:30

На листе, к сожалению. А что, даже через API никак?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Фон кнопки на листе Excel

Сообщение alibek » 29.10.2008 (Ср) 11:59

А причем тут API?
Lasciate ogni speranza, voi ch'entrate.

Евгений Д.
Обычный пользователь
Обычный пользователь
 
Сообщения: 96
Зарегистрирован: 21.09.2004 (Вт) 17:32
Откуда: Москва

Re: Фон кнопки на листе Excel

Сообщение Евгений Д. » 29.10.2008 (Ср) 12:05

API все-таки будет посильнее Фауста Гёте, читай - стандартных средств VBA. Хотя, возможно, в данном случае я ошибаюсь, и это запрет на изменение фона контрола на листе высшего порядка.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Фон кнопки на листе Excel

Сообщение iGrok » 29.10.2008 (Ср) 12:35

Евгений Д. писал(а):API все-таки будет посильнее Фауста Гёте, читай - стандартных средств VBA. Хотя, возможно, в данном случае я ошибаюсь, и это запрет на изменение фона контрола на листе высшего порядка.

А это не контрол в понимании Windows. Это просто картинка, которую Excel рисует сам на своём листе, цветом, который ему больше нравится. API тут вообще ни при чём.
label:
cli
jmp label

Евгений Д.
Обычный пользователь
Обычный пользователь
 
Сообщения: 96
Зарегистрирован: 21.09.2004 (Вт) 17:32
Откуда: Москва

Re: Фон кнопки на листе Excel

Сообщение Евгений Д. » 29.10.2008 (Ср) 12:54

Странно, тем более если это картинка, то какие проблемы ее раскрасить. Почему такая дискриминация?

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Фон кнопки на листе Excel

Сообщение Денис » 29.10.2008 (Ср) 13:54

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

Евгений Д.
Обычный пользователь
Обычный пользователь
 
Сообщения: 96
Зарегистрирован: 21.09.2004 (Вт) 17:32
Откуда: Москва

Re: Фон кнопки на листе Excel

Сообщение Евгений Д. » 29.10.2008 (Ср) 14:20

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

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


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 99

    TopList