Excel VBA实现打开工作簿时自动弹出「管理COM加载项」对话框的问题求助
Excel VBA实现打开工作簿时自动弹出「管理COM加载项」对话框的问题求助
大家好,我现在遇到一个问题:想让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
我试过调整Controls的各种写法,但都没成功。
后来我想通过模拟按键的方式,先打开「选项」窗口,再导航到「加载项」板块,最后打开「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还是微软文档里给出的写法,但就是行不通。
有没有大佬能给我其他解决思路呀?
备注:内容来源于stack exchange,提问作者Jim Schuuz
相关产品推荐
相关产品推荐

