gpt4 book ai didi

visual-studio-2010 - Excel Range.Find 和维护用户选择的查找选项

转载 作者:行者123 更新时间:2023-12-02 23:09:01 27 4
gpt4 key购买 nike

使用 Excel Interop API 自动化 Excel 时,我可以使用方法 Range.Find 轻松进行范围搜索。我正在传递查找的 LookIn、LookAt、SearchOrder、SearchDirection 和 MatchCase 选项。正如 MSDN 文档所述,将传递到此方法的值保留到用户设置中,因此下次用户打开查找表单时,将选择我在 Range.Find 方法中使用的选项。

我需要在执行编程查找之前和之后保留查找选项的值。所以我想捕获当前的查找选项,然后执行 Range.Find,然后将查找选项设置回搜索之前设置的选项。但是,我没有看到查找选项可以公开访问。关于如何获得这些有什么想法吗?

我基本上希望检索 LookIn、LookAt、SearchOrder、SearchDirection 和 MatchCase 的当前查找选项值。

更新到目前为止我发现的最有趣的事情是您可以访问 Excel 应用程序对话框 - Dialogs Interface 。因此,在这里,我可以访问“公式查找”对话框,该对话框与“查找和替换”对话框略有不同,但可能会导致我要查找的一些属性。我没有任何运气,但也许有一种方法可以使用反射通过这种形式访问属性。我会继续尝试一些东西。

// xlDialogFormulaFind, xlDialogFormulaReplace
Excel.Dialog dialog = this.Application.Dialogs.Item[Excel.XlBuiltInDialog.xlDialogFormulaFind];

最佳答案

嗯,我不确定您是否会考虑这种方法,但我会在这里尝试一下,以防它可能有帮助。

我要做的是,创建一个注册表项来保存您想要保留的值。然后我可以调用 RegistryKey.GetValue(valuename)检索值,前提是没有抛出异常。

只要该注册表项保持不变,并且您有足够的权限来访问注册表项,您就应该能够始终获得相同的值。

希望我们真的可以在这里使用应用程序设置,这样会更容易,但是,正如您可能知道的那样,vsto 加载项不喜欢它,根据 this article

You cannot use application settings in an unmanaged application that hosts the .NET Framework. Settings will not work in such environments as Visual Studio add-ins, C++ for Microsoft Office, control hosting in Internet Explorer, or Microsoft Outlook add-ins and projects.

希望这有帮助。

关于visual-studio-2010 - Excel Range.Find 和维护用户选择的查找选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10303917/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com