-1

いくつかの条件付き設定値を設定しようとしていますが、取得していないようです。Excelドキュメントを見ると、デフォルトになっています。
緑 = 0.2
黄 = 0.1


緑 0.8
黄 0.6として表示されています。

private static void setIcon(Excel.Worksheet excelWorksheet, string cell)
{
    try
    {
        Excel.IconSetCondition cfIconSet = (Excel.IconSetCondition)excelWorksheet.Range[cell, cell].FormatConditions.AddIconSetCondition();
        cfIconSet.IconCriteria[1].Icon = Excel.XlIcon.xlIconRedTrafficLight;

        cfIconSet.IconCriteria[2].Type = Excel.XlConditionValueTypes.xlConditionValueNumber;
        cfIconSet.IconCriteria[2].Icon = Excel.XlIcon.xlIconYellowTrafficLight;
        cfIconSet.IconCriteria[2].Value = Convert.ToDouble(yellow);
        cfIconSet.IconCriteria[2].Operator = (int)(Excel.XlFormatConditionOperator.xlGreaterEqual);

        cfIconSet.IconCriteria[3].Type = Excel.XlConditionValueTypes.xlConditionValueNumber;
        cfIconSet.IconCriteria[3].Value = Convert.ToDouble(green);
        cfIconSet.IconCriteria[3].Icon = Excel.XlIcon.xlIconGreenTrafficLight;
        cfIconSet.IconCriteria[3].Operator = (int)(Excel.XlFormatConditionOperator.xlGreaterEqual);
    }
    catch (Exception ex)
    {
        throw new ArgumentException(ex.Message);
    }
}
4

1 に答える 1

1

私は動作している以下を使用しました。

var c = (Excel.IconSetCondition)excelWorksheet.get_Range(cell).FormatConditions.AddIconSetCondition();
c.SetFirstPriority();
c.ShowIconOnly = false;
c.IconSet = book.IconSets[Excel.XlIconSet.xl3TrafficLights2];
var yellowIcon = c.IconCriteria[2];
yellowIcon.Type = Excel.XlConditionValueTypes.xlConditionValueNumber;
yellowIcon.Value = Convert.ToDouble(yellow);
yellowIcon.Operator = (int)Excel.XlFormatConditionOperator.xlGreaterEqual;

var greenIcon = c.IconCriteria[3];
greenIcon.Type = Excel.XlConditionValueTypes.xlConditionValueNumber;
greenIcon.Value = Convert.ToDouble(green);
greenIcon.Operator = (int)Excel.XlFormatConditionOperator.xlGreaterEqual;
于 2013-03-20T04:14:28.283 に答える