我目前正在尝试将一些VB6宏移动到C#应用程序中,但我无法使用C#设置活动单元格。
在VB6中,它只是:
ActiveSheet.Range("L1").Select
有谁知道C#等价物是什么?
提前干杯。
答案 0 :(得分:5)
以下是一段代码示例:
Excel.Worksheet sht = (Excel.Worksheet)ActiveSheet;
sht.Cells[3, 3] = "HELLO";
您还可以捕捉范围:
Excel.Range rng = (Excel.Range)sht.Cells[3, 3];
我只相信选择方法一样选择范围,虽然我没有测试过。
rng.Select();
显然,您可以使用正确的强制转换简化此操作并将这些语句链接在一起。我不想冒这个猜测,因为我还没有从我那里获得VSTO项目。
修改强>
您还应该能够使用get_Range
rng = sht.get_Range("A1", Type.Missing);
VSTO往往会在大多数情况下返回对象,需要强制转换,但get_Range
是一个例外。有人可能能够纠正我,因为我不是VSTO的大用户(当涉及到Excel时仍然是VBA顽固)。