[英]How can I get a Range incorporating X rows and Y rows given a starting point in Excel with VSTO & C#?
I have an Excel Workbook which has some VSTO-based c# code.我有一个 Excel 工作簿,其中包含一些基于 VSTO 的 c# 代码。
Given a known point:给定一个已知点:
var start = START.get_Address(); // "$A$10"
I want to create a range that starts with $A$10
but incorporates an extra X rows and Y columns.我想创建一个以
$A$10
开头但包含额外的 X 行和 Y 列的范围。
For example例如
var x = 10;
var y = 5;
I want a range that represents $A$10:$F$20
.我想要一个代表
$A$10:$F$20
的范围。
I can do it by combining addresses:我可以通过组合地址来做到这一点:
var end = ((Excel.Range) START.get_Offset(x, y)).get_Address();
var targetRangeAddress = start + ":" + end;
var newRange = get_Range(targetRangeAddress, System.Type.Missing);
However, there must be an easier way.但是,必须有更简单的方法。 The above is pretty ugly.
上面的很丑。
You can use VBA's Resize()
or as another commenter pointed out, get_Resize()
is the VSTO equivalent.您可以使用 VBA 的
Resize()
或正如另一位评论者指出的那样, get_Resize()
是 VSTO 的等价物。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.