求助:ActiveX exe如何挂载指定pid的cad进程
如题,请教各位大神:ActiveX exe挂载cad时,似乎只能默认加载最后一次启动的cad进程。若开了3个cad,如何让ActiveX exe挂载指定pid的cad(如第2个进程),而不是默认的那个cad进程呢?
希望各位走过路过的大神,不吝赐教!
以前我在CAD8的时候碰到有人 问 这个 问题 。
我把以前的答案复制过来了,请参考一下!(也适用于EXCEL)
开始以为很简单,但是自己实验了一下发现是个难题,因为VB获得对象函数只能是获得第一个实例,后来搜索了各种资料,终于解决这个难题了,目前在网上还没有看到解决的方法。这是本论坛首发,与大家共同分享,可以任意转载。
可以按如下方法操作解决问题,比如打开了C:\TEST.DWG,C:\TA.DWG等等
引用方法就是加上文件名,一定要绝对路径才行。
SET CADDOC=GetObject("C:\TEST.DWG").Application 不行的,研究了很久都没有结果,放弃吧。
楼主看看这个帖子99楼--->101楼,看是否有点作用
回帖是一种美德!感谢楼主的无私分享 谢谢
非常感謝您的回復!你的答案最為詳盡,看樣子錯不了,有空了試驗一下。
萬分感謝!
非常感谢你的帮助!
经过试验确实有效。
但如果打开的图,不管vb程序一直开着还是关了再开,只要这张图不关,再创建对象时就会多弹出一个是否保存新建文件的对话框,请问这个有好的解决方法吗?对话框点确定或取消效果都一样。
创建对象代码:
Public acadApp As Object, ThisDrawing As Object
Set acadApp = GetObject(Text1.Text).Application
重开程序再次获取同一对象,【Set acadApp = GetObject(Text1.Text).Application】就会出现此对话框,有点烦人。以下是弹出框的内容
---------------------------
AutoCAD
---------------------------
是否将改动保存到 Drawing2.dwg?
---------------------------
是(Y) 否(N) 取消
---------------------------
页:
[1]