gpt4 book ai didi

vba - Excel 加载项上下文菜单按钮

转载 作者:行者123 更新时间:2023-12-04 21:31:17 25 4
gpt4 key购买 nike

我有一个已创建的 Excel 加载项(.xlam 文件),我试图让该加载项在右键单击菜单上创建按钮,以便我可以根据所选单元格快速运行宏。我向 ThisWorkbook 添加了代码,它可以在 xlsm 文件中运行。 (我从 HERE 复制了代码。)我将另存为 xlam,加载加载项,但上下文菜单上没有任何内容。我有一种感觉这些潜艇不会通过加载项加载。但是,我可以让 Workbook_Open 中的代码发挥作用。有人能指出我正确的方向吗?

Private Sub Workbook_Deactivate()
On Error Resume Next
With Application
.CommandBars("Cell").Controls("Open Drawing").Delete
End With

On Error GoTo 0
End Sub

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim cmdBtn As CommandBarButton
On Error Resume Next

With Application
.CommandBars("Cell").Controls("Open Drawing").Delete
Set cmdBtn = .CommandBars("Cell").Controls.Add(Temporary:=True)
End With

With cmdBtn
.Caption = "Open Drawing"
.Style = msoButtonCaption
.OnAction = "Open_Drawing_Main"
End With

On Error GoTo 0
End Sub

最佳答案

您必须使用AddinInstall 事件。我认为您的上下文菜单程序工作正常。因此,双击加载项文件中的 ThisWorkbook(在安装它并将其另存为 xlam 之前),从上方的写入下拉菜单中选择 AddinInstall 事件并放置一些如下代码:

Private Sub Workbook_AddinInstall()
Call AddToRightClickMenuOptions_Main
End Sub

在此代码中,AddToRightClickMenuOptions_Main 是创建上下文菜单的子项。请注意,您可能希望在卸载加载项时删除上下文菜单:

Private Sub Workbook_AddinUninstall()
Call DeleteFromRightClickMenuOptions_Main
End Sub

其中 DeleteFromRightClickMenuOptions_Main 是删除上下文菜单的例程(您可以在互联网上轻松找到代码)

关于vba - Excel 加载项上下文菜单按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51774528/

25 4 0