我正在努力使用.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