用VBA代码处理菜单和工具栏之四

用VBA代码处理菜单和工具栏之四,第1张

用VBA代码处理菜单和工具栏之四,第2张

复制菜单和工具栏

复制现有工具栏需要VBA代码。可以使用Add方法创建一个与要复制的工具栏类型相同的工具栏,然后使用CommandBarControl的Copy方法将源工具栏上的每个命令按钮复制到新工具栏上。下面的函数将以这种方式复制工具栏:

Rigcbname参数是指复制的源工具栏,strNewCBName参数是指新工具栏的名称,可选参数blnShowBar决定新工具栏是否显示。

函数CBCopyCommandBar(strOrigCBName作为字符串,_

strNewCBName作为字符串,_

可选blnShowBar As Boolean = False)As Boolean

此过程复制strOrigCBName中命名的命令栏

参数添加到strNewCBName参数中指定的新命令栏。

Dim原始命令栏

将内容复制为命令栏

Dim ctlCBarControl作为CommandBarControl

Dim lngBarType As Long

出错时转到CBCopy_Err

set CBR original = command bars(strOrigCBName)

lngBarType = cbrOriginal。类型

选择事例lngBarType

Case msoBarTypeMenuBar

设置cbrCopy = CommandBars。Add(名称:=strNewCBName,位置:=msoBarMenuBar)

Case msoBarTypePopup

设置cbrCopy = CommandBars。Add(名称:=strNewCBName,位置:=msoBarPopup)

其他情况

设置cbrCopy = CommandBars。添加(名称:=strNewCBName)

结束选择

将控件复制到新命令栏。

对于cbrOriginal中的每个ctlCBarControl。控制

ctlCBarControl。复制cbrCopy

下一个ctlCBarControl

显示新命令栏。

如果blnShowBar = True,则

如果cbrCopy。Type = msoBarTypePopup Then

cbrCopy。ShowPopup

其他

cbrCopy。可见=真

如果…就会结束

如果…就会结束

CBCopyCommandBar = True

CBCopy_End:

退出功能

CBCopy_Err:

CBCopyCommandBar = False

恢复CBCopy_End

结束功能

注意:

1.此函数的strNewCBName参数不能与现有工具栏同名;

2.如果复制一个弹出菜单栏,并将blnShowBar参数设置为TRUE,则当运行该函数时,弹出菜单栏将显示在当前鼠标位置。有关显示弹出菜单栏的更多信息和说明,请参考Microsoft Office Visual Basic参考帮助中的“显示弹出菜单栏”索引。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 用VBA代码处理菜单和工具栏之四

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情