乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 175|回复: 11

选取点 - 获取表格单元格

[复制链接]

57

主题

235

帖子

3

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
463
发表于 2007-1-17 08:55:10 | 显示全部楼层 |阅读模式
是否有办法确定通过选择点(不选择单元格边框)选择了哪个单元格(即行/列)。
我希望能够发出一个提示,在表格中选取一个点,并从该点确定选取点在哪个单元格中。从那里,我将插入一个块或格式化单元格。

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

6

主题

103

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
127
发表于 2007-1-17 09:56:37 | 显示全部楼层
哇,似曾相识。
这正是我要发布的帖子所要求的。
回复

使用道具 举报

6

主题

103

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
127
发表于 2007-1-17 10:43:21 | 显示全部楼层
嗨Matt
看看HitTest函数
Hth
~'J'~
回复

使用道具 举报

6

主题

103

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
127
发表于 2007-1-17 10:48:17 | 显示全部楼层
您可以在lisp上看到这个不错的例子,
搜索Lee Ambrosius于2004年3月24日编写的“seltable cell ”
源代码可从以下网址获得:
http://hyperpics . blogs . com/beyond _ the _ ui/AutoLISP visual _ lisp/
~ ' J ' ~
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-1-17 11:18:24 | 显示全部楼层
我打算发布这个(这还不起作用)。 如果可能的话,我试图避免选择表格,然后选择一个单元格 - 它必须是,因为Lee的代码不会让你选择表格。 我现在有点陷入困境 - 试图写这个,同时做实际的计费工作....我在想什么??!?
  1. Public Sub SelectCell()
  2.     Dim objTable As AcadTable
  3.     Dim varPnt As Variant
  4.     Dim varCoords As Variant
  5.     Dim lngRow As Long, lngCol As Long
  6.    
  7.     varPnt = ThisDrawing.Utility.GetPoint(, "Select a cell to edit...")
  8.    
  9.     If objTable.HitTest(varPnt, varCoords, lngRow, lngCol) Then
  10.         MsgBox "Found a cell"
  11.     End If
  12. End Sub

回复

使用道具 举报

57

主题

235

帖子

3

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
463
发表于 2007-1-17 11:21:45 | 显示全部楼层

当它只发生一次时,你如何获得似曾相识?
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-1-17 11:37:35 | 显示全部楼层
Lee使用当前显示的选择窗口来查看视图中是否有任何表,然后循环遍历任何找到的表以查看HitTest是否成功......
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2007-1-17 11:49:41 | 显示全部楼层
那么这是我必须走的路吗,或者有可能从拾取点获得表格对象,然后从那里获得单元格的位置吗?
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2007-1-17 11:55:14 | 显示全部楼层
Greg B,
(来自Dictionary.com)
似曾相识——一种以前见过或经历过某事的印象。
他的问题看起来很熟悉,因为这也是我想到的。
除此之外,我今天不想争论。
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-1-17 12:24:45 | 显示全部楼层
我认为这正是您想要的
我喜欢您将p1作为选择集的两个角来填充它的方式,它工作正常。
  1. Sub WhatCell()
  2.     Dim oTable As AcadTable
  3.     Dim P1
  4.     Dim V(2) As Double
  5.     Dim R As Long, C As Long
  6.     V(2) = 1
  7.     Set oTable = EntSel(, P1) 'Getentity function
  8.     oTable.SelectSubRegion P1, P1, V, V, 1 _
  9.         , True, R, R, C, C
  10.    
  11.     Debug.Print R, C
  12.     Debug.Print oTable.GetText(R, C)
  13. End Sub

回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-7 04:59 , Processed in 1.452254 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表