.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();
}
}
}
당신은'Selection'는,이 오브젝트의 유형을 따라의 vay 것입니다 할 개체 어떤 것이 선택되었는지, 그것이 범위라면 그것은'Range' 유형입니다. 나는 Interop에서 무엇이 같은지 모르지만 비슷해야한다. –
고마워. 다음은 "Range range = Globals.ThisAddIn.Application.Selection;"범위에 액세스하기 위해 작동합니다. 해당 범위의 셀 값에 액세스하는 VBA는 무엇입니까? – hughesdan
Cells 개체의 Value2 속성에 액세스하여 추가로 문제를 해결할 수있었습니다. @ 크리스 당신이 답변을 귀하의 의견을 제출할 수 있도록 내가 당신에게 그것을 줄 수 있습니까? – hughesdan