【问题标题】:Looking for a way to find cursor position within excel worksheet寻找一种在 Excel 工作表中查找光标位置的方法
【发布时间】:2014-05-30 00:54:18
【问题描述】:

我知道 System.Windows.Forms.Cursor.Position,但这并没有给出 Excel 工作表中的光标位置。我正在寻找一种在工作表中获取光标位置的方法,类似于 Microsoft.Office.Interop.Excel.Shape.Left

感谢所有帮助,在此先感谢

【问题讨论】:

    标签: c# excel cursor position vsto


    【解决方案1】:

    光标位置是指选中单元格在工作表中的位置,还是指编辑单元格时文本插入点的位置?

    如果是前者,你可以使用Selection.Address。对于后者,我不知道答案。

    【讨论】:

    • 我不是说任何一个。我的意思是光标图标在工作表中的位置(如鼠标移动时移动的小箭头),无论我是否正在编辑单元格、格式化形状或其他任何内容。
    • @user3642682 我相当肯定 Excel 自动化对象模型不支持这一点。唯一的 MouseMove 事件属于 Chart 类,所以这不是特别有用。如果您要查找有关用户单击 位置而不是鼠标指针悬停 位置的信息,那么 Sheet.BeforeDoubleClick 和 Sheet.BeforeRightClick 事件可能会有所帮助。对于普通点击,您可以使用 SelectionChange 事件。但是,我怀疑这些不足以满足您的需求。如果您描述您要解决的问题,您可能会得到更好的回应。
    • 嘿,好吧,基本上,我希望用户能够点击一个矩形,然后我想添加一个线形,使其末端尽可能靠近用户单击但仍与矩形齐平的位置。我想我会在光标位置阅读。然后,进行一些计算并添加该行。我只是不知道如何获得相对于 A 列左侧和工作表顶部的光标位置。
    • @user3642682 如您所知,Shape 是处理形状的接口 (msdn.microsoft.com/en-us/library/…),但没有响应用户输入的 API。可能有一些低级的方法可以通过 Windows 消息循环获取此信息,但我怀疑这会比它的价值更麻烦。
    • 你能扩展一下吗? windows消息循环是什么意思?如果不获取此信息,我认为我无法继续。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 2011-06-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-14
    • 2011-10-21
    相关资源
    最近更新 更多