C# 如何在Excel中聚焦或选择单元格

C# 如何在Excel中聚焦或选择单元格,c#,vsto,excel-2007,C#,Vsto,Excel 2007,如何在Excel VSTO中使用C#聚焦单元格或在VSTO中使用C#选择第一个单元格?以下是一种方法: Excel.Worksheet activeSheet = ThisAddIn.ExcelApplication.ActiveSheet; var range = activeSheet.get_Range("A1", "A1"); range.Select(); ThisAddIn是我的测试项目的名称。要选择A2单元,例如: Excel.Worksheet Worksheet = exce

如何在Excel VSTO中使用C#聚焦单元格或在VSTO中使用C#选择第一个单元格?

以下是一种方法:

Excel.Worksheet activeSheet = ThisAddIn.ExcelApplication.ActiveSheet;
var range = activeSheet.get_Range("A1", "A1");
range.Select();

ThisAddIn是我的测试项目的名称。

要选择A2单元,例如:

Excel.Worksheet Worksheet = excel.ActiveWorkbook.ActiveSheet;
Worksheet.get_Range([1,2], System.Reflection.Missing.Value).Select();

您还可以添加对Microsoft.Office.Interop.Excel.Extensions的引用;这样您就可以执行var range=activeSheet.range(“A1”);这里需要注意的一点是,您只能在活动工作表上调用Select。因此,如果您需要在当前活动工作表之外的其他内容中选择单元格,则需要先调用Activate。此问题已正确回答,您应该将其标记为已回答。另请参阅您是否意识到这是7年前的问题?您的答案中添加了哪些未包含在建议答案中的内容?至少解释一下你的解决方案。
 Excel.Application ExcelApp = (Excel.Application)Marshal.GetActiveObject("Excel.Application");
            Excel.Workbook book = ExcelApp.ActiveWorkbook;
            Excel.Worksheet sheet = book.ActiveSheet;
            Excel.Range ExcelRange = sheet.get_Range("A1");
            ExcelRange.Select();