我正在处理使用自动化的导入(来自Excel)对话框,以允许用户选择要导入的单元格区域。当选择范围时,我使用事件接收器来捕获事件并确认第一行和第一列。我需要有一种方法来取消上一个选择的第一行和第一列。我不认为它是安全的先手选择的范围在挑选的时候变化,并记住它,如(伪代码为简明起见):Excel自动化。当选择发生变化时需要先前的选择
OnSelectionChange()
{
if (m_PrevSelection)
UnHilite(m_PrevSelection);
HiliteCurrentSelection();
GetSelectedRange(m_PrevSelection);
}
我猜测,只是抱着到该范围(从_Application :: Selection获得)而不释放它会导致各种问题(但也许我错了)。我还没有找到复制范围的方法(IRange Copy仅将单元格内容从一个范围复制到另一个范围)。
我想我可以把范围的单元格地址存储起来,然后重新创建一个范围,从我需要做出不高兴的时候开始,但是这在我看来常常出现,我想知道是否其他人有更优雅的解决方案。
非常感谢。我会这样来对待它。 – Steve 2008-10-31 17:42:11