选取点 - 获取表格单元格
是否有办法确定通过选择点(不选择单元格边框)选择了哪个单元格(即行/列)。我希望能够发出一个提示,在表格中选取一个点,并从该点确定选取点在哪个单元格中。从那里,我将插入一个块或格式化单元格。
**** Hidden Message ***** 哇,似曾相识。
这正是我要发布的帖子所要求的。 嗨Matt
看看HitTest函数
Hth
~'J'~ 您可以在lisp上看到这个不错的例子,
搜索Lee Ambrosius于2004年3月24日编写的“seltable cell ”
源代码可从以下网址获得:
http://hyperpics . blogs . com/beyond _ the _ ui/AutoLISP visual _ lisp/
~ ' J ' ~ 我打算发布这个(这还不起作用)。 如果可能的话,我试图避免选择表格,然后选择一个单元格 - 它必须是,因为Lee的代码不会让你选择表格。 我现在有点陷入困境 - 试图写这个,同时做实际的计费工作....我在想什么??!?
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使用当前显示的选择窗口来查看视图中是否有任何表,然后循环遍历任何找到的表以查看HitTest是否成功...... 那么这是我必须走的路吗,或者有可能从拾取点获得表格对象,然后从那里获得单元格的位置吗? Greg B,
(来自Dictionary.com)
似曾相识——一种以前见过或经历过某事的印象。
他的问题看起来很熟悉,因为这也是我想到的。
除此之外,我今天不想争论。 我认为这正是您想要的
我喜欢您将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
页:
[1]
2