使用Excel Interop API自动化excel时,可以轻松使用Range.Find方法进行范围搜索。我正在通过LookIn、LookAt、SearchOrder、SearchDirection和MatchCase选项传递Find参数。根据MSDN文档的说明,这将把传递给该方法的值保留在用户设置中,因此下次用户打开查找表单时,将选择我在Range.Find方法中使用的选项。
我需要在进行编程查找之前和之后保留查找选项的值。所以我想捕获当前的查找选项,然后执行Range.Find操作,最后将查找选项设置回之前设置的选项。但是,我没有看到查找选项是公开可访问的。有什么想法可以获取这些内容吗?
我基本上是要检索LookIn、LookAt、SearchOrder、SearchDirection和MatchCase的当前查找选项值。
我需要在进行编程查找之前和之后保留查找选项的值。所以我想捕获当前的查找选项,然后执行Range.Find操作,最后将查找选项设置回之前设置的选项。但是,我没有看到查找选项是公开可访问的。有什么想法可以获取这些内容吗?
我基本上是要检索LookIn、LookAt、SearchOrder、SearchDirection和MatchCase的当前查找选项值。
更新 到目前为止,我找到的最有趣的事情是您可以访问Excel应用程序对话框-Dialogs Interface。因此,在这里,我可以访问FormulaFind对话框,它与查找和替换对话框略有不同,但可能会导致我正在寻找的一些属性。我没有什么运气,但也许有一种通过反射使用这个表单来访问属性的方法。我会继续尝试。
// xlDialogFormulaFind, xlDialogFormulaReplace
Excel.Dialog dialog = this.Application.Dialogs.Item[Excel.XlBuiltInDialog.xlDialogFormulaFind];