利用VBA在CATIA中插入工具栏和命令按钮

LTRIOP 2017-08-14 11:00:11

我想在把自己录制的各种宏生成工具栏
并且可以发给别人
让他们可以一键安装工具栏
而不是把宏一个个的拖到工具栏里定义命令
但是自定义工具栏的过程不能录制宏
所以
求问有没有大神可以给点建议
可以编写一个VBA文件可以代替工具栏的自定义过程
...全文
1532 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-08-15
  • 打赏
  • 举报
回复
仅供参考:
'使用代码安装‘笔’工具栏
'以下示例创建了包含一个命令按钮的命令栏。通过 CommandBarButton 对象的 OnAction 属性,
'可用 CopyFace 方法将内置的“打开”按钮的按钮图符复制到“剪贴板”上,再用 PasteFace
'方法将其粘贴到已存在的按钮上。这样就在运行时间修改了命令栏按钮的外观。
Sub testAddModifyToolbars1()
    Set myBar = CommandBars.Add(Name:="ChangingButton", Position:=msoBarTop, Temporary:=True)
    myBar.Visible = True
    Set oldControl = myBar.Controls.Add(Type:=msoControlButton, ID:=CommandBars("Standard").Controls("Copy").Id)
    oldControl.OnAction = "changeFaces"
End Sub

Sub changeFaces()
    Set newControl = CommandBars.FindControl(Type:=msoControlButton, ID:=CommandBars("Standard").Controls("Paste").Id)
    newControl.CopyFace
    Set oldControl = CommandBars("ChangingButton").Controls(1)
    oldControl.PasteFace
End Sub
LTRIOP 2017-08-15
  • 打赏
  • 举报
回复
感谢帮助 问题已解决
舉杯邀明月 2017-08-14
  • 打赏
  • 举报
回复
楼主是不是应该补习一下语文? 给你说了我没安装这个软件、没使用过这个软件,怎么可能有“示例”? 我在“1.”中已经说了,要“成功”才可以继续,你连录的“宏”代码都没有,   这就根本不知道“用宏指令添加”的方法,那还考虑什么! 我说的那三条,“后面”的操作,都是以前面操作成功为前提条件的。 既然“1”已经未做成,那还有必要做“2”……
LTRIOP 2017-08-14
  • 打赏
  • 举报
回复
很感谢回答 第一条已经试过,录出来的宏是空的,,,, 第二条的话 我没有找到插入工具栏或者按钮的命令,参考excel的VBA程序的命令,显示 project required , 现在感觉 CATIA的VBA 没提供插入工具栏的选项 还有本人很菜 可以考虑直接给个代码示例
舉杯邀明月 2017-08-14
  • 打赏
  • 举报
回复
没有安装、没有使用过这个软件。 各种软件的“接口”不一样,是否支持“用宏指令添加工具按钮”也不确定。 你有这个“运行环境”,可以自己尝试一下: 1. 先写一个测试用的过程(这个应该是“公共过程”才行吧),然后开始录制宏:   添加一个工具栏按钮、把这个“工具按钮”的宏指定为先写好的测试过程、停止录制。   然后看一下录制的宏代码,参考这段代码,自己写一个“添加工具按钮”的过程。   然后:执行一下这个“添加”过程,看能不能正常操作、达到自动添加工具按钮、绑定特定宏的目的。   如果成功,可以继续后面的操作;如果失败,那就基本没戏了,放弃这想法吧。 2. 看能不能写一个“带宏命令的模板文档”、并且CATIA支持“打开它时自动执行某个过程”。   如果不支持,仍然没戏;   如果支持,就把这个“自动执行”的过程作为一个“入口”完成自动添加工具按钮。   这个“添加过程”可以用一个单独的过程,在“入口”中Call一下,也可以把操作代码直接写有“入口”过程中。   另外就是把你那些“功能”过程,都写在这个文档中,在那个“添加过程”中进行对应的绑定。 3. 如果上面“2.”可以实现,就可以把你这个文档“分发”给其他人。   如果CATIA支持“启动时自动加载文档”,让他们放在可以“自动加载”的目录中;   如果不支持自动加载,让他们不要直接启动CATIA,而是通过“打开模板文档”的方式启动。

2,463

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧