834764420 发表于 2014-12-7 15:52:56

刚刚学VBA,这段代码看了好久不懂,有没有朋友能给详细地讲解一下,多谢了。

本帖最后由 834764420 于 2014-12-7 17:52 编辑

Sub Main()
Dim ss As AcadSelectionSet
Dim i As Integer
Dim PickFirstSSet As AcadSelectionSet
Dim Ent As AcadEntity
Dim Basepnt As Variant
On Error Resume Next
Set acadApp = GetObject(, "autocad.application")
ForceForegroundWindow acadApp.hWnd
acadApp.SelectionSets("PICKFIRST").Delete
Set PickFirstSSet = acadApp.PickfirstSelectionSet
If PickFirstSSet.Count = 0 Then
retry:
acadApp.ActiveDocument.Utility.GetEntity Ent, Basepnt, vbCrLf & "选择对象:"
If Ent Is Nothing Then
i = MsgBox("未选择到对象,是否继续选择?", vbYesNo + vbQuestion, "矿井巷道及瓦斯流监测可视化系统")
If i = 7 Then
End
Else
GoTo retry
End If
End If
If Err <> 0 Then
Err.Clear
End If
End If
Handle = Ent.Handle
sql = "select * from kj_mvgv where enthandle= '" & Handle & "'"
Call CreateDb_Mvgv
Call GetStrMvgv(sql)
If Rst.RecordCount = 0 Then
ForceForegroundWindow frmTime.hWnd
frmTime.Hide
MsgBox "数据库中没有该条巷道!" + vbCrLf + "请先在矿井巷道可视化系统中添加该巷道!", vbOKOnly + vbExclamation, "矿井巷道及瓦斯流监测可视化系统"
i = MsgBox("是否继续查询其他巷道?", vbYesNo + vbQuestion, "矿井巷道及瓦斯流监测可视化系统")
If i = 7 Then
End
Else
GoTo retry
End If
End If
ForceForegroundWindow frmTime.hWnd
End Sub
通过本模块的设计将实现在通风系统图上用鼠标选取巷道,然后从矿井巷道可视化数据库中读取巷道名称及编号,根据巷道名称分别在风网解算数据库和瓦斯浓度监测数据库中读取相应的数据,实时显示瓦斯浓度及曲线,并可将数据提供给瓦斯流分析系统进行计算分析。通过此模块可实现与矿井通风系统图的交互式操作。
页: [1]
查看完整版本: 刚刚学VBA,这段代码看了好久不懂,有没有朋友能给详细地讲解一下,多谢了。