我希望 Microsoft Excel 工作簿在用户打开工作簿时显示“管理:COM 加载项”对话框。我正在 Excel 2016 上对此进行测试,但我也可以使用 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
我在此代码中尝试了各种“控件”变体,但找不到任何有效的。
接下来我想我可以发送键码来打开“选项”窗口,然后导航到“加载项”部分,最后使用此代码导航到“COM 加载项”,但它不会打开“选项” ”窗口,但返回“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 从键盘打开“选项”。
然后我尝试使用此代码打开“选项”菜单,但它们也返回“400”错误:
Sub OpenExcelOptions()
Application.Dialogs(xlDialogOptions).Show
End Sub
和
Sub OpenExcelOptions()
Application.ExecuteExcel4Macro "SHOW.DIALOG(400,,1)"
End Sub
我确认对话框“xlDialogPrint”和“xlDialogOpen”打开各自的窗口,因此此语法也应该是正确的。微软给了我“xlDialogOptions”语言,但没有效果。
大家还有其他建议吗?
最佳答案
I would like to have a Microsoft Excel workbook display the "Manage: COM Add-ins" dialog box when a workbook is opened by the user.
Application.CommandBars.ExecuteMso "ComAddInsDialog"
关于excel - VBA宏打开时打开 "Options",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75697506/