我自己做一个小程序,列表中列出了要处理的文档,要逐一打开处理,但用户可能已经自己打开了其中部分图纸,再次打开会变成只读,无法写入数据,这时候需要把已经打开的图纸设置成活动文档,才可以写入数据,但不知道怎么设置活动文档,请高手指教!
IsOpenString '获得已经打开图纸的字符串组合
If IsOrNotHave(OpenTmpString, MyFileName) = False Then ’IsOrNotHave是自定义函数,用来查找判断是否已经打开
acadapp.Documents.Open MyPath & MyFileName ‘未打开的图纸正常打开
Else ’已经打开的图纸想设置为活动文档,这里应该怎么写???
End If
在你的提示下,已经完成了代码编写,谢谢了!
IsOpen = False
For Each acaddoc In acadapp.Documents
If StrComp(acaddoc.Name, MyFileName, vbTextCompare) = 0 Then
IsOpen = True
acaddoc.Activate
Exit For
End If
Next
If IsOpen = False Then acadapp.Documents.Open MyPath & MyFileName
一点建议
IsOpen = False
For Each acaddoc In acadapp.Documents
If StrComp(acaddoc.Name, MyFileName, vbTextCompare) = 0 Then
IsOpen = True
set mydoc=acaddoc
Exit For
End If
Next
If IsOpen = False Then set mydoc=acadapp.Documents.Open MyPath & MyFileName
mydoc.activate