我正在處理使用自動化的導入(來自Excel)對話框,以允許用戶選擇要導入的單元格區域。當選擇範圍時,我使用事件接收器來捕獲事件並確認第一行和第一列。我需要有一種方法來取消上一個選擇的第一行和第一列。我不認爲它是安全的先手選擇的範圍在挑選的時候變化,並記住它,如(僞代碼爲簡明起見):Excel自動化。當選擇發生變化時需要先前的選擇
OnSelectionChange()
{
if (m_PrevSelection)
UnHilite(m_PrevSelection);
HiliteCurrentSelection();
GetSelectedRange(m_PrevSelection);
}
我猜測,只是抱着到該範圍(從_Application :: Selection獲得)而不釋放它會導致各種問題(但也許我錯了)。我還沒有找到複製範圍的方法(IRange Copy僅將單元格內容從一個範圍複製到另一個範圍)。
我想我可以把範圍的單元格地址存儲起來,然後重新創建一個範圍,從我需要做出不高興的時候開始,但是這在我看來常常出現,我想知道是否其他人有更優雅的解決方案。
非常感謝。我會這樣來對待它。 – Steve 2008-10-31 17:42:11