Excel<-&燃气轮机;Catia连接:tlb参考问题

Excel<-&燃气轮机;Catia连接:tlb参考问题,excel,vba,catia,Excel,Vba,Catia,我正在编写一个excel宏,需要与CATIA“动态”绘图配合。这意味着它需要将一些东西从excel表格放在图形上,并根据用户的要求从图形中获取一些东西到excel表格。听起来很容易,但是。。 在我的特殊情况下,CATIA不是安装在本地,而是安装在公司的服务器上。为了获得连接,用户需要通过“CNEXT.exe/regserver”命令进行注册,首先在网络磁盘上查找CNEXT.exe的路径。因此,他需要启动如下命令:“j:\appl…\CNEXT.exe/regsever”。在我的宏中,我需要通过:

我正在编写一个excel宏,需要与CATIA“动态”绘图配合。这意味着它需要将一些东西从excel表格放在图形上,并根据用户的要求从图形中获取一些东西到excel表格。听起来很容易,但是。。 在我的特殊情况下,CATIA不是安装在本地,而是安装在公司的服务器上。为了获得连接,用户需要通过“CNEXT.exe/regserver”命令进行注册,首先在网络磁盘上查找CNEXT.exe的路径。因此,他需要启动如下命令:“j:\appl…\CNEXT.exe/regsever”。在我的宏中,我需要通过:Tools\References引用*.tlb文件来建立与CATIA对象的连接,并选择适当的引用(在我的例子中,CATIA V5界面对象库CATIA V5绘图界面对象库

参考截图

这仍然很容易,但现在棘手的部分来了:只要我在工作,网络磁盘可用,一切都正常工作。一旦我试图在外面打开这个excel文件,它就会挂起。我发现我定义的引用是在存储在CATIA所在位置的*.tlb文件上指示的:( 我正在开发的这个excel文件必须与我们的供应商共享,这些供应商需要填写他们需要填写的手动工作表,以及我公司中其他无法访问CATIA的人员共享,以便能够对其进行审查。总体思路是,宏应仅由使用CATIA的人员运行,并且手动修改工作表并进行审查在当前情况下,无法访问“j:…”网络驱动器,甚至没有人能够打开excel文件,更不用说启动我正在编写的宏了

我的问题是:是否有可能强制excel不检查lanuch的参考资料,而只通过其中一个初始化过程中的某个步骤进行检查?我编写了一些代码来检查CATIA的可用性,excel可以在其中检查这些参考资料。 另一个想法是以某种方式嵌入*.tlb文件,或将其内容嵌入到我的excel文件中,以供任何人永久使用

我试图在代码中添加对*.tlb文件的引用,以指示相同的*.tlb文件,但复制到我计算机上的某个本地目录(以便能够在公司之外编写代码),但我收到一条错误消息:

错误消息-未定义用户定义的类型

小更新-我刚刚对早期和晚期绑定感到愤怒。我做了一个测试,并编写了一个代码,将CATIA对象声明为对象,而不是INFITF.Application。现在我可以在不引用任何*.tlb文件的情况下编写代码。现在问题已经解决,但intellisense也不存在了:(-我无法想象没有它编写代码。
因此我想到了一个想法,我可以使用*.tlb文件上正确指示的引用进行编码,然后在将宏发布到总体使用之前,我可以从“CATIA特定”交换声明仅针对对象类型,但这需要编写一个宏来修改宏以更改整个代码中所有实例的这些声明:(:(:)请帮助我。

我建议您维护两个excel文件 “主文件”包含与catia通信的宏和存储数据的“数据文件”。 “数据文件”将不包含任何与catia通信的宏

然后,您可以使用主文件中的表格/文件浏览VBA代码浏览并选择“数据文件”,然后您可以轻松读取数据文件并执行操作

我是为一位客户做的,相信我,这比

编写宏以修改宏以更改所有 整个代码中的实例