我正在努力使用.NET 4和VS 2010編寫Excel 2010應用程序加載項。事實證明,難以訪問用戶選擇的單元格範圍。用戶將選擇一系列連續的n個單元格,然後單擊功能區欄上的按鈕。然後點擊這個按鈕後,我需要訪問該範圍的單元格地址以及單元格值。以下是我的代碼。 get_Range是我所能找到的最接近的方法。但是,此方法需要第一個和最後一個單元格地址。有沒有類似的方法可以將用戶選擇的輸入範圍作爲參數?另外,在訪問所選範圍後,我需要獲取該範圍中包含的值並將其寫入數據庫。我在設想使用類似range.SelectedValues的東西,我將其投射到數據表中。訪問一組選定值的正確方法是什麼?在Excel中訪問所選範圍地址和單元格值添加
在此先感謝您的幫助。我迷失在PIA文檔中,努力完成一項簡單的任務。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Tools.Ribbon;
using Microsoft.Office.Tools.Excel;
using Microsoft.Office.Interop.Excel;
namespace ExcelAddIn2
{
public partial class Ribbon1
{
private void Ribbon1_Load(object sender, RibbonUIEventArgs e)
{
}
private void GetRageValues()
{
Range range = Globals.ThisAddIn.Application.get_Range("A1", "A3");
//to be replaced with database insert
System.Windows.Forms.MessageBox.Show("You Selected" + range.Address);
}
private void button1_Click_1(object sender, RibbonControlEventArgs e)
{
GetRageValues();
}
}
}
在VBA中,你要的是'Selection',類型此對象將根據VAY對象在選擇什麼時,如果它是一個範圍,那麼它將是'Range'類型。我不確定'Interop'中的等效物是什麼,但它應該類似 – 2011-12-25 07:34:38
謝謝。以下內容適用於訪問範圍「Range range = Globals.ThisAddIn.Application.Selection;」。訪問範圍內單元格值的VBA等效物是什麼? – hughesdan 2011-12-25 17:31:10
進一步修補後,我可以通過訪問Cells對象中的Value2屬性來解決這個問題。 @Chris你想提交你的評論作爲答案,以便我可以給你信用嗎? – hughesdan 2011-12-25 18:12:24