gpt4 book ai didi

c# - 删除条件格式

转载 作者:行者123 更新时间:2023-11-30 17:58:48 25 4
gpt4 key购买 nike

我正在尝试通过以下代码使用 C# 添加条件格式。

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;

我动态地更改应用这些格式的范围

formatConditionObj.ModifyAppliesToRange(NewRange);

现在我想删除应用的这种格式,如何实现。

formatConditionObj.Delete();

这对我不起作用。这不会删除应用它的所有单元格的格式。仅删除最后的单元格格式。

我也试过用

formatConditionObj.AppliesTo.Delete();

但它也会删除应用于该单元格的其他 ConditionalFormats。

注意:某些格式已应用于应用此条件格式的单元格,例如某些填充颜色。甚至在某些单元格上应用了一些其他条件格式。我只想删除这个特定的 ConditionalFormat(formatConditionObj)。

谁能帮帮我。

最佳答案

当单元格中有多个条件时,不能像这样删除格式条件。您必须通过它的编号来解决条件格式才能将其删除。

考虑这个例子。 (经过测试和尝试)

下面的代码创建了一个新工作簿,并在工作表 1 中的单元格 A1 中创建了 2 个格式条件。创建 2 个条件后,应用程序将暂停并显示一个消息框。转到 Excel 并手动检查创建的条件格式。 (快照 1)。完成后,单击消息框中的 OK。然后代码将删除条件 1,然后通过显示一个消息框再次暂停。转到 Excel 并手动检查条件格式。您会注意到只剩下一个(准确地说是第二个)条件格式。 (快照二)

    private void btnSearch_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Excel.Application xlexcel;
Microsoft.Office.Interop.Excel.Workbook xlWorkBook;
Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;

xlexcel = new Excel.Application();
xlexcel.Visible = true;

//~~> Add a File
xlWorkBook = xlexcel.Workbooks.Add();
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

//~~> Create 2 Conditions
xlWorkSheet.Cells[1, 1].FormatConditions.Add( 1,5,"=5");
xlWorkSheet.Cells[1, 1].FormatConditions.Add(1, 5, "=10");

MessageBox.Show("Wait");
//~~> Now if you check the Excel file, Cell A1 has two conditional formats.
//~~> See Snapshot 1

//~~> Delete the first condition
xlWorkSheet.Cells[1, 1].formatconditions(1).delete();

MessageBox.Show("Wait");
//~~> Now if you check the Excel file, Cell A1 has only 1 conditional format.
//~~> See Snapshot 2
}

快照 1

enter image description here

快照 2

enter image description here

关于c# - 删除条件格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11858529/

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