当使用 Excel Interop API 自动化 excel 时,我可以使用Range.Find方法轻松地进行范围搜索。我正在通过查找的 LookIn、LookAt、SearchOrder、SearchDirection 和 MatchCase 选项。正如 MSDN 文档所指出的那样,将传递给此方法的值保存到用户设置中,因此下次用户打开查找表单时,将选择我在 Range.Find 方法中使用的选项。
在进行程序化查找之前和之后,我需要保留查找选项的值。所以我想捕获当前的查找选项,然后执行 Range.Find,然后将查找选项设置回我搜索之前设置的选项。但是,我没有看到 find 选项可以公开访问。关于如何获得这些的任何想法?
我基本上是在寻找 LookIn、LookAt、SearchOrder、SearchDirection 和 MatchCase 的当前查找选项值。
更新 到目前为止,我能找到的最有趣的事情是您可以访问 Excel 应用程序对话框 -对话框界面。所以在这里,我可以访问 FormulaFind 对话框,它与 Find and Replace 对话框略有不同,但可能会导致我正在寻找的一些属性。我没有运气,但也许有一种方法可以使用反射通过这种形式访问属性。我会继续尝试这个。
// xlDialogFormulaFind, xlDialogFormulaReplace
Excel.Dialog dialog = this.Application.Dialogs.Item[Excel.XlBuiltInDialog.xlDialogFormulaFind];