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""$A$3:$A$20"

これは、Excel を直接使用して行うことができます。条件付き書式 -> ルールの管理 -> 適用対象 (これを編集)。C#を使用してこれを達成するにはどうすればよいですか。

4

1 に答える 1

0

これは私にとってはうまくいきます。下の「using」行を一番上に置くと、かなりの労力を節約できることがわかりました。

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 に答える