在 vsto C# 中,复制(不粘贴)一个范围时,如何知道这个范围(row/col/rect 信息)?
In vsto C#, when copying(no pasting) a range, how to know this range(row/col/rect info)?
示例 excel 2013 年,
我 select 范围 A1:C3 和 ctrl-c 或右键单击复制。
注意会有一个动画围绕这个范围移动,这意味着你刚刚复制了它。
现在我只想在我的代码中得到这个范围。
我刚刚在 windows 消息中勾选了复制发明。我怎样才能得到这个范围?
请帮助。
示例代码:
private override onCopy(Excel.Range source){
//...
base.onCopy(source);
//Now I can get the source range when copy happens.
//But in vsto, there is no such method.
//Help me to work around
}
您可以使用 Selection 对象来获取当前选择。但它可能 return 另一种选择,而不仅仅是复制。
要获取复制的 Selection 对象,您需要设置键盘挂钩以拦截 Ctrl+C 键盘按钮and/or重新调整功能区控件的用途。
请参阅 Using shortcut keys to call a function in an Office Add-in 以开始使用 Windows Hooks。
很可能重新调整功能区控件的用途就足够了(上下文菜单使用功能区 UI)。有关详细信息,请参阅 Temporarily Repurpose Commands on the Office Fluent Ribbon。
示例 excel 2013 年, 我 select 范围 A1:C3 和 ctrl-c 或右键单击复制。 注意会有一个动画围绕这个范围移动,这意味着你刚刚复制了它。
现在我只想在我的代码中得到这个范围。
我刚刚在 windows 消息中勾选了复制发明。我怎样才能得到这个范围? 请帮助。
示例代码:
private override onCopy(Excel.Range source){
//...
base.onCopy(source);
//Now I can get the source range when copy happens.
//But in vsto, there is no such method.
//Help me to work around
}
您可以使用 Selection 对象来获取当前选择。但它可能 return 另一种选择,而不仅仅是复制。
要获取复制的 Selection 对象,您需要设置键盘挂钩以拦截 Ctrl+C 键盘按钮and/or重新调整功能区控件的用途。
请参阅 Using shortcut keys to call a function in an Office Add-in 以开始使用 Windows Hooks。
很可能重新调整功能区控件的用途就足够了(上下文菜单使用功能区 UI)。有关详细信息,请参阅 Temporarily Repurpose Commands on the Office Fluent Ribbon。