Vb6 Outlook工具栏按钮图标

Vb6 Outlook工具栏按钮图标,vb6,outlook,Vb6,Outlook,我有以下旧的VB6工作代码,用于在Outlook中添加自定义按钮(在新工具栏中) Dim oApp As Object Dim objIns As Object Dim objCBar As Object Dim lpobjButton As Object Set oApp = CreateObject("Outlook.Application") Set objIns = oApp.ActiveExplorer Set objCBar = objIns.CommandBars.Add(bar


我有以下旧的VB6工作代码,用于在Outlook中添加自定义按钮(在新工具栏中)

Dim oApp As Object
Dim objIns As Object
Dim objCBar As Object
Dim lpobjButton As Object

Set oApp = CreateObject("Outlook.Application")
Set objIns = oApp.ActiveExplorer
Set objCBar = objIns.CommandBars.Add(barra)

Set lpobjButton = objCBar.Controls.Add()
With lpobjButton
    .Caption = "myLabel"
    .HyperlinkType = 1
    .ToolTipText = "myLink"
End With
我试图向按钮添加一个图像,但是当我执行以下命令时

Dim oApp As Object
Dim objIns As Object
Dim objCBar As Object
Dim lpobjButton As Object

Dim picPicture As IPictureDisp

Set oApp = CreateObject("Outlook.Application")
Set objIns = oApp.ActiveExplorer
Set objCBar = objIns.CommandBars.Add(barra)
Set picPicture = stdole.StdFunctions.LoadPicture(App.Path & "\myimage.bmp")

Set lpobjButton = objCBar.Controls.Add()
With lpobjButton
    .Caption = "myLabel"
    .Picture = picPicture  '<--- runtime error 8000ffff here
    .HyperlinkType = 1
    .ToolTipText = "myLink"
End With
  • 我也尝试了32x32像素(256色),但没有成功。 我正在使用
    OL2007
有什么想法吗


谢谢

更改代码以使用粘贴面方法从剪贴板复制图片。当然,这意味着你必须先把你的照片放到剪贴板上

With lpobjButton
    .Caption = "myLabel"
    Clipboard.Clear
    Clipboard.SetData picPicture, vbCFBitmap
    .PasteFace
    ''.Picture = picPicture  '<--- runtime error 8000ffff here
    .HyperlinkType = 1
    .ToolTipText = "myLink"
End With
带有lpobjButton的

.Caption=“myLabel”
剪贴板,清除
剪贴板.SetData PicPicPicture,VBCbbitMap
.PasteFace

''.Picture=picpicpicture'您是否尝试设置.Picture=picpicpicture
?是的,我尝试过,但出现了相同的错误。谢谢你的建议谢谢你比纳,这很有效!如何增加透明度?(我希望能够使用原始方法中的.Mask)。此外,我如何防止删除剪贴板(可能是由另一个进程编写的)?这是一个Microsoft文章的链接,该文章还描述了如何将掩码粘贴到剪贴板。至于防止剪贴板被删除,我不知道你能做到,也不知道你为什么想这么做。您仅将其用作中间步骤。将图像粘贴到按钮后,剪贴板不再重要。Microsoft链接非常有趣。我仍然无法让他们的例子发挥作用,但这可能是我方面的一个愚蠢错误。
With lpobjButton
    .Caption = "myLabel"
    Clipboard.Clear
    Clipboard.SetData picPicture, vbCFBitmap
    .PasteFace
    ''.Picture = picPicture  '<--- runtime error 8000ffff here
    .HyperlinkType = 1
    .ToolTipText = "myLink"
End With