Сразу скажу - 1. вопрос именно по VB, а не по VBA. 2.Постановка задачи именно такая, какая она есть, и ее треба решить (ответы типа "накой это надо" не катят).
Задача.
Есть в наличии некий файл в формате EXCEL (Book1.xls). В этом файле есть созданная панель инструментов (имя пусть будет ТемпПанель). На панели есть кнопка (хай порядковый номер будет 1). Стиль кнопки - msoButtonIconAndCaption
Есть в наличии некий файл в формате BMP. (пусть путь будет c:\11.bmp ). В нем картинка 16х16.
Необходимо средствами VB открыть Book1.xls и изменить в панели ТемпПанель рисунок кнопки с порядковым номером 1.
Вариант решения.
- Код: Выделить всё
Dim MyXLS As Object
Dim cmBars
Dim picPicture As IPictureDisp
Name = "book1.xls"
Set MyXLS = GetObject("c:\" & Name)
For Each cmBars In MyXLS.Application.CommandBars
If cmBars.Name = "ТемпПанель" Then
With cmBars.Controls(1)
Set picPicture = LoadPicture("c:\11.bmp")
.Picture = picPicture
End With
End If
Next
Но в строке .Picture = picPicture выскакивает ошибка: Method Picture of object _CommandBarButton failed
И я никак не въеду в чем косяк