Dim customBar As CommandBar
Dim newButton As CommandBarButton
Set picPicture = stdole.StdFunctions.LoadPicture( _
"c:\1.bmp")
Set picMask = stdole.StdFunctions.LoadPicture( _
"c:\2.bmp")
With Application.CommandBars.FindControl(Type:= _
msoControlButton, ID:= _
CommandBars("myone").Controls("Button1").ID)
.Picture = picPicture
.Mask = picMask
End With
Outlook картинка на кнопке
Текст знаю как изменить
Application.ActiveExplorer.CommandBars.Item(1).Controls.Item(1).Caption = "Wow"
, а как картинку не знаю...
Цитата: wishco
Подскажите пожалуйста как на кнопку в Outlook, toolbar повесить свою иконку или картинку.
Текст знаю как изменить
Application.ActiveExplorer.CommandBars.Item(1).Controls.Item(1).Caption = "Wow"
, а как картинку не знаю...
Текст знаю как изменить
Application.ActiveExplorer.CommandBars.Item(1).Controls.Item(1).Caption = "Wow"
, а как картинку не знаю...
Тебе надо на этом CommandBar-е найти твой баттон и получить из него CommandBarButton, там есть свойство Picture, вот и все.
Код:
'Получить наш тулбар с кнопками
Public Sub GetOURBar()
Dim i As Integer
Dim picPicture As IPictureDisp
cmdArray = Array("Первая кнопка", "Вторая кнопка")
cmdArrayAction = Array("MySample1", "MySample2")
cmdArrayTips = Array("Первая кнопка Tips", "Вторая кнопка Tips")
cmdArrayPicPath = Array("C:\1.bmp", "C:\2.bmp")
ToolBarMy = 0 'Временная переменная
With Application.ActiveExplorer.CommandBars
ToolBarMy = GetNumBar 'Получить номер тулбара
If ToolBarMy = 0 Then 'Если еще нет тулбара, то создаем его
.Add (BarLetters)
ToolBarMy = GetNumBar 'Получить номер тулбара
End If
.Item(ToolBarMy).Visible = True 'Отобразить тулбар
For i = 0 To UBound(cmdArray)
' if .
Next
'Задаем кол-во кнопок
Do While .Item(ToolBarMy).Controls.Count < (UBound(cmdArray) + 1)
.Item(ToolBarMy).Controls.Add (msoControlButton)
Loop
'Настраиваем кнопки
i = 0
Do While i < (UBound(cmdArray) + 1)
With .Item(ToolBarMy).Controls.Item(i + 1)
.Caption = cmdArray(i)
.OnAction = cmdArrayAction(i)
.TooltipText = cmdArrayTips(i)
Set picPicture = stdole.StdFunctions.LoadPicture(cmdArrayPicPath(i))
.Picture = picPicture
.Style = 1
i = i + 1
End With
Loop
End With
End Sub
'Получить номер тулбара
Private Function GetNumBar() As Integer
Dim i As Integer
With Application.ActiveExplorer.CommandBars
For i = 1 To .Count
If .Item(i).Name = BarLetters Then
GetNumBar = i
Exit For
End If
Next
End With
End Function
Public Sub GetOURBar()
Dim i As Integer
Dim picPicture As IPictureDisp
cmdArray = Array("Первая кнопка", "Вторая кнопка")
cmdArrayAction = Array("MySample1", "MySample2")
cmdArrayTips = Array("Первая кнопка Tips", "Вторая кнопка Tips")
cmdArrayPicPath = Array("C:\1.bmp", "C:\2.bmp")
ToolBarMy = 0 'Временная переменная
With Application.ActiveExplorer.CommandBars
ToolBarMy = GetNumBar 'Получить номер тулбара
If ToolBarMy = 0 Then 'Если еще нет тулбара, то создаем его
.Add (BarLetters)
ToolBarMy = GetNumBar 'Получить номер тулбара
End If
.Item(ToolBarMy).Visible = True 'Отобразить тулбар
For i = 0 To UBound(cmdArray)
' if .
Next
'Задаем кол-во кнопок
Do While .Item(ToolBarMy).Controls.Count < (UBound(cmdArray) + 1)
.Item(ToolBarMy).Controls.Add (msoControlButton)
Loop
'Настраиваем кнопки
i = 0
Do While i < (UBound(cmdArray) + 1)
With .Item(ToolBarMy).Controls.Item(i + 1)
.Caption = cmdArray(i)
.OnAction = cmdArrayAction(i)
.TooltipText = cmdArrayTips(i)
Set picPicture = stdole.StdFunctions.LoadPicture(cmdArrayPicPath(i))
.Picture = picPicture
.Style = 1
i = i + 1
End With
Loop
End With
End Sub
'Получить номер тулбара
Private Function GetNumBar() As Integer
Dim i As Integer
With Application.ActiveExplorer.CommandBars
For i = 1 To .Count
If .Item(i).Name = BarLetters Then
GetNumBar = i
Exit For
End If
Next
End With
End Function