来自C#的Excel操作 - 设置ActiveCell?

时间:2010-04-30 15:20:05

标签: c# excel vb6 visual-studio-2010 interop

我目前正在尝试将一些VB6宏移动到C#应用程序中,但我无法使用C#设置活动单元格。

在VB6中,它只是:

ActiveSheet.Range("L1").Select

有谁知道C#等价物是什么?

提前干杯。

1 个答案:

答案 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顽固)。