gpt4 book ai didi

vba - 动态设置 CommandBar "Popup"子菜单图标

转载 作者:行者123 更新时间:2023-12-04 14:11:13 25 4
gpt4 key购买 nike

我只是想确认这一点:在 Office 2003 中,我想在运行时创建一个自定义子菜单——在 CommandBar 术语中称为弹出窗口 (msoControlPopup),并为其设置一个图像。使用 CommandBarButton,这非常简单

Set btn1 = mnu.Controls.Add(msoControlButton, temporary:=True)
btn1.Caption = "Btn1"
btn1.Picture = stdole.LoadPicture("C:\temp\test.bmp")

但是对于类型为 msoControlPopup 的 CommandBarPopup 或 CommandBarControl,它会失败

Set sub1 = mnu.Controls.Add(msoControlPopup, temporary:=True)
sub1.Caption = "Sub1"
'object doesn't support this property or method for next line
sub1.Picture = stdole.LoadPicture("C:\temp\test.bmp")

msoControlPopup 类型似乎也不允许使用 .Style 属性,这是 Office 确定要在控件上显示的内容(图标、文本,两者)的方式。我还没有发现这一点得到证实,所以我抱着最后的希望,我做错了什么,事实上,有一种方法可以在运行时在子菜单上插入图标。

感谢您提供的任何光线。

最佳答案

好吧,更多的风滚草。我很确定这个问题的答案是,这是不可能的。这是我的“证据”:没有一个内置子菜单有图标(直到 我发布上面的内容后我才意识到这一点,如果您运行上面的代码,请转到工具 > 自定义在菜单栏中,然后单击“测试”菜单将其下拉,然后右键单击“Sub1”,您应该会看到所有按钮和样式选项都显示为灰色。右键单击“Btn1”,它们就可用了。

任何其他想法仍然欢迎。

关于vba - 动态设置 CommandBar "Popup"子菜单图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4738102/

25 4 0