我看到Excel互操作有Find method但我不知道如何使用它。
我想在范围内搜索具有特定颜色的单元格(Microsoft.Office.Interop.Excel.Range)。 在Excel中,您将这样做:
我只想以编程方式使用Excel Interop。
感谢阅读:)
答案 0 :(得分:1)
在调用Application.FindFormat
方法之前,您需要设置Find()
属性。
E.g。如果你想使用"查找和替换"的标准设置来搜索红色单元格。对话框,您可以使用以下代码:
// These are the search options of the "Format" dialog.
_application.FindFormat.Font.Color = 255;
_application.FindFormat.Font.TintAndShade = 0;
// cell is null if nothing was found.
var cell = _application.Cells.Find(What: "", After: _application.ActiveCell,
LookIn: XlFindLookIn.xlFormulas, LookAt: XlLookAt.xlPart,
SearchOrder: XlSearchOrder.xlByRows, SearchDirection: XlSearchDirection.xlNext,
// It's important to set SearchFormat to true.
MatchCase: false, SearchFormat: true);
如果你想搜索当前主题的强调色2,你也可以这样做:
_application.FindFormat.Font.ThemeColor = XlThemeColor.xlThemeColorAccent2;
如果您想模仿"查找和替换"的确切行为。对话框,您可以在找到单元格后调用cell.Activate()
。