- 积分
- 1047
- 明经币
- 个
- 注册时间
- 2005-1-7
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
今天机会崩溃!问题是这样的,我每次打开CAD后自动运行如下的一个宏: Sub LoadFileYJ() strPath = Application.Path If Right(strPath, 1) <> "\" Then strPath = strPath & "\" End If 'MsgBox strPath Dim a As New CommonDialog a.Filter = "(*.dwg)|*.dwg" a.CancelError = True a.ShowOpen Dim strFileName As String Dim strDBDirName As String Dim strDBFileName As String Dim strSourseFileName As String strSourseFileName = strPath & "MZY2002\gangjin.mdb" strFileName = a.FileName 'MsgBox strFileName ThisDrawing.Application.Documents.Open strFileName strDBDirName = HJWCFFile.GetFullPathPart(strFileName, VBFPFileDir) strDBFileName = strDBDirName & HJWCFFile.GetFullPathPart(strFileName, VBFPFileTitle) & ".mdb" 'MsgBox strDBFileName If Dir(strDBFileName, vbDirectory) = "" Then If MsgBox("文件不存在,是创建文件,否重新指定文件", vbYesNo) = vbYes Then FileCopy strSourseFileName, strDBFileName strDBPath = strDBFileName Else Dim b As New CommonDialog b.Filter = "(*.mdb)|*.mdb" b.ShowOpen strDBPath = b.FileName End If Else strDBPath = strDBFileName End If End Sub
这样,每次打开CAD后会自动弹出对话框,让用户选择一个已经存在的.dwg文件,同时检测是否有同名的.mdb文件,如果没有就提示用户是创建一个同名的.mdb文件还重新选择一个.mdb文件,目的是保证有一个.mdb文件,并将文件的完整路径记录下来。 现在的问题是这样,每次都会有用户选择的一个.dwg文档和一个CAD每次自身的一个Drawing1.dwg文档存在CAD中,用户选择的一个.dwg文档为当前文档,如果用户什么都不作直接关掉CAD,竟然会出现“CAD无法关闭Drawing1.dwg,因为还有一个命令在运行。请完成该命令,然后重试。”这是为什么???再切换到Drawing1.dwg文档,发现并没有什么命令在运行,而且可以直接关掉!
下面我就想用程序将它关掉,我在ThisDrawing.Application.Documents.Open strFileName 后面添加了 Dim DOC As AcadDocument Set DOC = ThisDrawing.Application.Documents.Item("Drawing1.dwg") DOC.close 发现每次运行到DOC.close 这边就过不去,查阅帮助,发现帮助上也是这样用的,我在想是不是没有设置为当前文档,我又在 DOC.Close前面添加了一句: DOC.Activate,可是仍然不行。我觉得还是那个说有个命令在运行的原因,但是就是不知道怎么解决,快崩溃了!请各位帮忙谢谢! |
|