Jeff_M 发表于 2007-1-17 08:55:10

拾取点-获取表格单元格

有没有办法确定通过拾取点(而不是选择单元格边框)选择了哪些单元格(即行/列)
我希望能够发出提示,在表格中拾取一个点,并从该点确定拾取点所在的单元格 从那里,我'我将插入一个块或格式化单元格。

Jeff_M 发表于 2007-1-17 09:56:37

哇,似曾相识
039;这正是我将要发布的帖子所要求的。

Bryco 发表于 2007-1-17 10:43:21

您好,Matt看看HitTest函数;J#039~

Bryco 发表于 2007-1-17 10:48:17

你可以看到这个很好的一个写在lisp上,搜索'selTableCell#039;作者:Lee Ambrosius,日期:2004年3月24日。源代码可从以下网址获得:http://hyperpics.blogs.com/beyond_the_ui/autolispvisual_lisp/
~&039;J#039~

Bryco 发表于 2007-1-17 11:18:24

试试看,似乎对我有用Option Explicit
Function GetTableCell(ByVal oTable As AcadTable, ByVal varPt As Variant, _
                      ByRef rowIndex As Long, ByRef colIndex As Long) As Variant
   Dim wviewVec As Variant
   Dim resVar(1) As Long
   wviewVec = ThisDrawing.GetVariable("VIEWDIR")
   oTable.HitTest varPt, wviewVec, rowIndex, colIndex
    resVar(0) = rowIndex
    resVar(1) = colIndex
    GetTableCell = resVar
   
End Function
Sub test()
    Dim ar As Variant, _
    e As AcadEntity, _
    t As AcadTable, _
    p As Variant, _
    ip As Variant, _
    r As Long, _
    c As Long
   
    With ThisDrawing.Utility
    .GetEntity e, ip, "Select table"
    p = .GetPoint(, "Pick point in cell")
    End With
    Set t = e
    ar = GetTableCell(t, p, r, c)
      r = ar(0)
      c = ar(1)
      
         MsgBox "Row " & r & ", Column " & c & vbCr & _
            "Value: " & t.GetText(r, c)
End Sub
~&039;J#039~

Bryco 发表于 2007-1-17 11:21:45

我本来打算发这个(现在还不行) 本人'我试图避免选择表格,然后选择一个单元格,如果它'这是可能的,因为李;s代码不't让你选择表格 本人'我现在有点困惑-试图写这篇文章,同时做实际的计费工作…我在想什么
Public Sub SelectCell()
    Dim objTable As AcadTable
    Dim varPnt As Variant
    Dim varCoords As Variant
    Dim lngRow As Long, lngCol As Long
   
    varPnt = ThisDrawing.Utility.GetPoint(, "Select a cell to edit...")
   
    If objTable.HitTest(varPnt, varCoords, lngRow, lngCol) Then
      MsgBox "Found a cell"
    End If
End Sub

Bryco 发表于 2007-1-17 11:37:35


只有一次的似曾相识,你怎么会有这种感觉?

Bryco 发表于 2007-1-17 11:49:41

Lee使用当前显示的选择窗口来查看视图中是否有任何表,然后遍历所有找到的表,查看命中测试是否成功。。。。。

Jeff_M 发表于 2007-1-17 11:55:14

这就是我必须遵循的道路,或者可以从拾取点获取表对象,然后从那里获取单元格#039;s位置?

Bryco 发表于 2007-1-17 12:24:45

格雷格B,
(来自Dictionary.com)
似曾相识-以前见过或经历过某事的印象
他的问题看起来很熟悉,因为这也是我想到的
除此之外,我不知道;我今天不想争论 
页: [1] 2
查看完整版本: 拾取点-获取表格单元格