Jeff_M 发表于 2007-1-17 12:59:10

嗯,马特,我想你可以尝试在拾取点的特定距离内获取交叉选择集;无论如何,我没有太多的表。这可能会更快,只需浏览一下你的表集合,看看你是否对HitTest有兴趣;然而,为了能够给出更好的回答,t对表格进行了大量修改。

Bryco 发表于 2007-1-18 00:15:53

我想这就是你想要的,我喜欢你把p1作为选择集的两个角来馈送它的方式,它可以工作
Sub WhatCell()
    Dim oTable As AcadTable
    Dim P1
    Dim V(2) As Double
    Dim R As Long, C As Long
    V(2) = 1
    Set oTable = EntSel(, P1) 'Getentity function
    oTable.SelectSubRegion P1, P1, V, V, 1 _
      , True, R, R, C, C
   
    Debug.Print R, C
    Debug.Print oTable.GetText(R, C)
End Sub

Jeff_M 发表于 2007-1-18 09:15:31

你能发布EntSel函数吗 It#039;s M.I.A.

Bryco 发表于 2007-1-18 09:37:59

It#039;vba函数中的;马特。(它们似乎消失了。)
Public Const VK_ESCAPE = &H1B
Public Const VK_LBUTTON = &H1
Public Const VK_SPACE = &H20
Public Const VK_RETURN = &HD
Public Const VK_LEFT = &H25
Public Const VK_MBUTTON = &H4
Public Declare Function GetAsyncKeyState Lib "user32" _
      (ByVal vKey As Long) As Integer
'Randall single selection
Public Function EntSel(Optional strPrmt As String = "Select an entity: ", Optional vPoint As Variant) As AcadEntity
    Dim objTemp As AcadEntity
    Dim objUtil As AcadUtility
    Dim varPnt As Variant
    Dim varCancel As Variant
    On Error GoTo Err_Control
    Set objUtil = ThisDrawing.Utility
    objUtil.GetEntity objTemp, varPnt, vbCr & strPrmt
    Set EntSel = objTemp
    If Not IsMissing(vPoint) Then
      vPoint = ToWcs(varPnt) ',,,,,,,,Added
    End If
Exit_Here:
    Exit Function
Err_Control:
    Select Case Err.Number
      Case -2147352567
      'Debug.Print Err.Number, Err.Description
      varCancel = ThisDrawing.GetVariable("LASTPROMPT")
      If InStr(1, varCancel, "*Cancel*")0 Then
            If GetAsyncKeyState(VK_ESCAPE) And 8000 > 0 Then
                Err.Clear
                Resume Exit_Here
            ElseIf GetAsyncKeyState(VK_LBUTTON) > 0 Then
                Err.Clear
                Resume
            End If
      Else
            If GetAsyncKeyState(VK_SPACE) Then
                Resume Exit_Here
            End If
            'Missed the pick, send them back!
            Err.Clear
            Resume
      End If
      Case Else
            MsgBox Err.Description
            Resume Exit_Here
    End Select
End Function

Jeff_M 发表于 2007-1-18 09:45:23

再来一个…
页: 1 [2]
查看完整版本: 拾取点-获取表格单元格