拾取点-获取表格单元格
有没有办法确定通过拾取点(而不是选择单元格边框)选择了哪些单元格(即行/列)我希望能够发出提示,在表格中拾取一个点,并从该点确定拾取点所在的单元格 ;从那里,我';我将插入一个块或格式化单元格。
哇,似曾相识
039;这正是我将要发布的帖子所要求的。 您好,Matt看看HitTest函数;J#039~ 你可以看到这个很好的一个写在lisp上,搜索';selTableCell#039;作者:Lee Ambrosius,日期:2004年3月24日。源代码可从以下网址获得:http://hyperpics.blogs.com/beyond_the_ui/autolispvisual_lisp/
~&039;J#039~ 试试看,似乎对我有用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~ 我本来打算发这个(现在还不行) ;本人';我试图避免选择表格,然后选择一个单元格,如果它';这是可能的,因为李;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
只有一次的似曾相识,你怎么会有这种感觉? Lee使用当前显示的选择窗口来查看视图中是否有任何表,然后遍历所有找到的表,查看命中测试是否成功。。。。。 这就是我必须遵循的道路,或者可以从拾取点获取表对象,然后从那里获取单元格#039;s位置? 格雷格B,
(来自Dictionary.com)
似曾相识-以前见过或经历过某事的印象
他的问题看起来很熟悉,因为这也是我想到的
除此之外,我不知道;我今天不想争论 ;
页:
[1]
2