gpt4 book ai didi

c# - VSTO Excel - 如何创建具有多个区域的范围

转载 作者:行者123 更新时间:2023-11-30 23:09:19 24 4
gpt4 key购买 nike

如果我有一个或多个范围,如何将它们组合成具有多个区域的范围?

有人可能会想这样做......但这甚至不会编译......

Excel.Worksheet sheet = workbook.ActiveSheet;
Excel.Range rng1 = (Excel.Range) sheet.get_Range(sheet.Cells[1, 1], sheet.Cells[3,42]);
Excel.Range rng2 = (Excel.Range) sheet.get_Range(sheet.Cells[5, 1], sheet.Cells[6,42]);
Excel.Range result = new Excel.Range();
result.Areas.Add(rng1);
result.Areas.Add(rng2);

更新:

这不是重复...这是关于创建一个包含两个区域的范围...而不是从两个范围创建一个范围,每个范围都有一个单元格(这将导致只有一个区域的范围)

最佳答案

源自上述“重复”问题的答案之一。

注意:似乎如果区域可以合并,联合会执行此操作(例如,两个相邻的行),但如果它们不能像这样合并,则会创建多个区域。 (对此不是 100% 确定)

此外,Union 可以有两个以上的参数...例如联合(范围 1、范围 2、范围 3 等...)

var excelApp = Globals.ThisAddIn.Application as Excel.Application;
var sheet = workbook.ActiveSheet as Excel.Worksheet;
var range1 = sheet.get_Range(sheet.Cells[1, 1], sheet.Cells[3,42]) as Excel.Range;
var range2 = sheet.get_Range(sheet.Cells[5, 1], sheet.Cells[6,42]) as Excel.Range;
var result = excelApp.Union(range1, range2) as Excel.Range;

关于c# - VSTO Excel - 如何创建具有多个区域的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45864930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com