0

我已经使用以下代码在具有某些格式的范围上添加了格式条件。

Microsoft.Office.Interop.Excel.FormatCondition formatConditionObj = null;

formatConditionObj = (Microsoft.Office.Interop.Excel.FormatCondition)myRange
    .FormatConditions.Add(Excel.XlFormatConditionType.xlExpression, 
    Type.Missing, true, Type.Missing, Type.Missing, Type.Missing, 
    Type.Missing, Type.Missing);

formatConditionObj.Interior.ColorIndex = 5;

现在我的范围发生了变化dynamically。我希望使用相同的 FormatCondition 对象,我只需更改应用此格式的范围。例如,在第一次实例中它可能只是"$A$1"稍后它可能是"$A$2,$D$5"or "$A$3:$A$20"

这可以直接使用excel来完成。连续格式 -> 管理规则 -> 适用于(编辑此)。如何使用 C# 实现这一点。

4

1 回答 1

0

这对我有用。我发现将下方的“使用”行放在顶部可以节省大量精力。

using Microsoft.Office.Interop.Excel;

<...>

        formatConditionObj = (FormatCondition)myRange.FormatConditions
            .Add(XlFormatConditionType.xlExpression, 
            Type.Missing, true, Type.Missing, Type.Missing, 
            Type.Missing, Type.Missing, Type.Missing);

        formatConditionObj.Interior.ColorIndex = 5;

        Range myNewRange = ws.Range["a10:a15"];
        formatConditionObj.ModifyAppliesToRange(myNewRange);

 <...>
于 2012-08-02T08:51:02.790 回答