excel VBA宏,用于在打开时打开“选项”

thigvfpy  于 2023-03-13  发布在  其他
关注(0)|答案(1)|浏览(241)

我希望Microsoft Excel工作簿显示“管理:COM加载项”对话框。我正在Excel 2016上测试此功能,但我也可以使用Excel 2019。(我的生产环境使用其中一个。)
我尝试了以下代码,它打开“Excel加载项”而不是“COM加载项”,然后返回一个无效的过程调用:

Sub OpenComAddInsOptions()
    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
    Application.CommandBars("Worksheet Menu Bar").Controls("Tools").Controls("Add-Ins...").Execute
    Dim addInWindow As Object
    Set addInWindow = Application.CommandBars("Add-Ins").Controls("COM Add-Ins")
    addInWindow.Execute
End Sub

我尝试了此代码中的各种“控件”变体,但找不到任何有效的变体。
接下来我想我可以发送键码来打开“Options”窗口,然后导航到“Add-ins”部分,最后使用此代码导航到“COM Add-ins”,但它没有打开“Options”窗口,而是返回了一个“400”错误:

Sub OpenManageComAddInsOptions()
    'Open Excel Options window and navigate to Add-ins section
    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
    Application.SendKeys "%FT"
    Application.SendKeys "{DOWN 8}"
    Application.SendKeys "%A"
    Application.SendKeys "{DOWN}"
    Application.SendKeys "%G"
End Sub

我只测试了SendKeys“%ft”,它不能打开“选项”窗口。为了测试语法,我测试了SendKeys“%pm”,它可以打开“页/边距”窗口,然后确认Alt+f+t可以从键盘打开“选项”。
然后,我尝试使用以下代码打开“Options”菜单,但它们都返回了“400”错误:

Sub OpenExcelOptions()
    Application.Dialogs(xlDialogOptions).Show
End Sub

以及

Sub OpenExcelOptions()
Application.ExecuteExcel4Macro "SHOW.DIALOG(400,,1)"
End Sub

我确认对话框“xlDialogPrint”和“xlDialogOpen”打开了各自的窗口,所以这个语法应该也是正确的。微软给了我“xlDialogOptions”语言,但无济于事。
还有人有其他建议吗?

yzuktlbb

yzuktlbb1#

我希望Microsoft Excel工作簿显示“管理:COM加载项”对话框。
尝试CommandBars.ExecuteMso方法

Application.CommandBars.ExecuteMso "ComAddInsDialog"

相关问题