我如何从单元格获得字符数
目标:我正在尝试为我的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