AutoCAD中的VBA应用程序路径
我想出了这些例程来获取当前项目的路径#039;对于AutoCAD VBA,还可以仅从完整路径和文件名中提取路径。我将其分为不同的函数,因为我认为GetPathFromFilename函数在其他地方可能有用。我希望其他人觉得这些有用公共函数App\u Path()作为字符串 '像应用程序一样工作。VB中的路径 ;Dim str作为字符串 ;str=ThisDrawing.Application.VBE.ActiveVBProject。文件名 ;App\u Path=GetPathFromFilename(str)
结束函数
公共函数GetPathFromFilename(sFile)作为字符串 ;Dim arr()作为字符串 ;arr=Split(sFile,“\”,-1,vbTextCompare)
 ;GetPathFromFilename=Left(sFile,Len(sFile)-Len(arr(UBound(arr)))
结束函数
仅供参考,VBA中有一些东西在内部存储路径,我相信它在创建时会存储路径。之后,无论您将文件移动到哪里,它都会报告原始路径
我们有许多DOT客户端,它们提供了一系列VBA应用程序,一些客户端试图使用这种方法查找与应用程序文件路径相关的支持文件。所有这些都不起作用,要求我们开发另一种方法使其发挥作用。通常,我们最终使用INI文件或环境变量。 本人';我不知道你想说什么。你是说我发布的代码无效吗?它在我的系统上运行得很好……在我的客户机上也是如此;s系统。Win7 Pro 64位、AutoCAD 2014和;2015 VBA 7.1 64位。我只是通过将DVB文件移动到另一个物理HD上全新创建的文件夹来进行测试,我的函数返回了DVB文件新位置的正确路径
我要说的是,创建项目时,VBA项目路径通常存储在VBA应用程序中。如果将应用程序移动到其他位置,它可能不会更新VBA项目中的该路径。我们在Microsoft产品VBA项目和非Microsoft产品VBA项目中都看到了这一点
谈到AutoCAD,其VBA实现可能没有这个问题
我所看到的是,web上可用的AutoCAD VBA示例和freewaretools的数量只是lisp例程数量的一小部分。因此,我对AutoCAD#039;s VBA非常有限。考虑到这些问题;在其他程序中遇到过,当我们尝试使用VBA项目路径时,我们通常会避免它,因为似乎没有简单的解决方案
如果这不是AutoCAD的问题,那么';太好了。只是预先警告一下,在其他支持VBA的软件中可能不是这样。
页:
[1]