我如何从单元格获得字符数

目标:我正在尝试为我的Excel 2016 VSTO插件添加一项function。 该function将从活动工作表获得1列,并根据string长度更改背景颜色。

问题:我无法从单元格获取string长度。 我无法找出正确的语法,我目前有var count = row.Item[1].Value2.Text.Length;

代码:这是我的

  public void CharacterLengthCheck(int length = 24, int Column = 3) { Worksheet sheet = Globals.ThisAddIn.Application.ActiveSheet; var RowCount = sheet.UsedRange.Rows.Count; Range column = sheet.Range[sheet.Cells[1, Column], sheet.Cells[RowCount, Column]]; foreach (Range row in column) { var count = row.Item[1].Value2.Text.Length; if (count > length) { row.Item[1].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red); } else { row.Item[1].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Green); } } } 

我认为你的问题在这里:

row.Item[1].Value2.Text.Length

长度函数是Len(x) ,所以试试Len(row.Item[1].Value2.Text)

感谢@Jeeped使用条件格式的build议。 然而,我原来的问题的答案是。

更改

var count = row.Item[1].Value2.Text.Length;

 string text = (row.Item[1].Value).ToString(); var count = text.length; 

我相信这是因为价值是dynamic的,需要明确地转换成string