明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5216|回复: 12

[求助]菜单宏的编写

  [复制链接]
发表于 2003-12-25 17:38:00 | 显示全部楼层 |阅读模式
问题一
我想通过菜单命令连接VBA窗体,使用下面语句
MacroStr = Chr(3) + Chr(3) + "-vbarun E:\VBA\FirTest.dvb!模块1.show_frm" + Chr(32)
Set OpenMenuItem = NewMenus.AddMenuItem(NewMenus.Count + 1, "打开窗体", MacroStr)
运行程序时AutoCAD弹出运行宏对话框,我必须手工选择show_frm过程并点击运行按钮。如何能使程序自动完成这些过程,直接操作shou_frm的指令。
并且命令行提示
未知命令:E:\VBA\FirTest.dvb!模块1.show_frm,查看帮助文件F1

问题二
窗体上有一命令按钮,我想通过按钮事件连接另一VBA过程,通用一下语句
IniFrm.Hide
ThisDrawing.SendCommand ("-vbarun E:\VBA\FirTest.dvb!模块1.single_test" & vbCr)
时AutoCAD命令行提示:
命令:-vbarun
宏名: E:\VBA\FirTest.dvb!模块1.single_test
未找到宏。

究竟是何原因,郁闷! 请教各位,指点迷津
发表于 2003-12-25 17:47:00 | 显示全部楼层
问题二:你的宏位置正确吗?从提示来看运行没有问题,应该是宏的位置有问题
 楼主| 发表于 2003-12-25 18:04:00 | 显示全部楼层
宏位置绝对没问题的,再帮我查查
发表于 2003-12-25 19:05:00 | 显示全部楼层
1、在菜单和工具栏中引用,路径的“\”要替换成"/"。
2、提示“未找到宏”,说明这个宏不存在,可能是你的拼写不正确或者位置错误。
注意:在命令行上包含路径时,“\”可以不替换成"/"。
发表于 2003-12-25 19:08:00 | 显示全部楼层
两个问题是一个问题:
"E:\VBA\FirTest.dvb!模块1.single_test"改成:
"E:/VBA/FirTest.dvb!single_test"

1 single_test须为 public定义.
2 在问题一时,"\"须改成"/".
3 模块名为中文时须省略或用英文命名.
 楼主| 发表于 2003-12-26 19:45:00 | 显示全部楼层
奇怪啊,我把模块名改为英文的了,还是不行,"\"也改为"/",问题没有任何起色,还是需要我手动选择过程点击运行按钮
发表于 2003-12-26 21:03:00 | 显示全部楼层
你不把DVB文件传上来,没办法诊断问题所在.
上传一个DVB文件让你参考一下.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2003-12-27 10:51:00 | 显示全部楼层
先做个sub 把调用窗体的语句写到里面 然后在用宏命令调用sub看看
发表于 2003-12-27 21:53:00 | 显示全部楼层
用下面语句即可!
ThisDrawing.SendCommand ("-vbarun single_test" & vbCr)
使用时工程要确保调汝。
发表于 2003-12-27 23:33:00 | 显示全部楼层
我的宏字串是这样写的,注意比你的多Chr(95),没有问题
    menuMacro = Chr(3) & Chr(3) & Chr(95) & "-vbarun C:/Project/PipeLine/PipeLine.dvb!modPublic.Test" & Chr(32)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 00:23 , Processed in 0.157525 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表