Tag: 右键单击

自定义右键单击菜单 – OnAction可以直接使用,而不是按下button

我在Excel中创build一个由各种子菜单组成的自定义菜单。 这是为了挑选各种机械物品,并有大约250个可能的结果。 无论如何,我已经build立了菜单并希望它能够在使用菜单时将.Captioninput到单元格中。 我已经把.OnAction放到了相关的button中,但不幸的是.OnAction在打开文件时激活,而不是在button被点击时激活。 就这样,所有250多个这样的元素都快速地进入同一个单元格。 快速编辑 – 重要的是朝向BuildMenus的底部,在那里.OnAction调用函数AddStuff。 我知道这是在Workbook_Activate上运行的,这就是为什么它会立即运行,但我在网上看到的其他地方也是这样。 Private Sub Workbook_Activate() BuildMenus End Sub Private Sub BuildMenus() 'Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) Dim AmountOfCats As Integer Dim ThisIsMyCell As String ThisIsMyCell = ActiveCell.Address 'this is where we would set the amount of categories. At the moment we'll have […]

右键单击在Excel中禁用的图纸选项卡

我在ThisWorkbook模块中使用此VBA代码来禁用Excel工作簿中的右键单击菜单。 Private Sub Workbook_Activate() With Application.CommandBars.FindControl(ID:=847) .Visible = False End With End Sub Private Sub Workbook_Deactivate() With Application.CommandBars.FindControl(ID:=847) .Visible = True End With End Sub 奇迹般有效。 问题是,我现在无法访问任何工作簿中选项卡上的右键单击菜单。 代码的第二部分应该打开它,我认为? 但事实并非如此。 即使当我完全删除代码,没有工作簿,甚至没有一个新的,有一个菜单,当我点击其中的一个标签。 有没有一个通用的vba码字“重置”excel也许? 还是一般的“启用所有菜单”的东西? REVISION:这里发布的代码并不禁用右键菜单,它从特定的菜单中删除“删除”选项。

Excel VBA:右键单击一个形状,并添加一个新的菜单项

我在Windows XP计算机上使用Excel 2007。 在我的工作表上,我有很多'形状'(矩形)。 我已经将macros分配给形状,以便他们执行一个任务,当有人点击它们。 我想要做的是以下,但我读过的post说这是不可能的。 当某人右键单击某个形状时,是否可以添加新的菜单项? 当有人右键单击单元格时,很容易做到这一点,但形状看起来不同。 我知道这个工作表有一个名为“Worksheet_BeforeRightClick”的事件,但是当我右击一个形状时,我无法得到这个工作。 下面是我的代码的开始,但是它对我的菜单没有任何影响。 提前谢谢了 With Application.CommandBars("Shapes") With .Controls.Add .Caption = "My New Menu Item" .BeginGroup = True .OnAction = "MyNewMacro" End With End With

如何通过VBA / Excel捕获其他工作簿中的右键单击事件

将以下代码添加到Excel中的ThisWorkbook对象后,可以成功捕获当前工作簿中的任何工作表上的右键单击。 Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) MsgBox "OK" End Sub 但是,如果可以从其他工作簿中捕获右键单击事件,可否请您提出build议? 案件 有一个xlam文件来存储VBA项目的所有脚本。 在xlam文件的Thisworksheet对象中,我添加了以下事件 '1) add popmenu when open any new workbook ' It works fine Private Sub Workbook_Open() Call addPopMenu End Sub '2) delete popmenu when close a workbook ' It works fine Private Sub WorkBook_Close() […]

用鼠标右键单击源文件.xlsm,但不是.xlam插件

我已经制作了一些基于单元格值通过右键菜单button运行的macros。 通常情况下,如果我右键单击值为'XYZ'的单元格,菜单button会显示为'为XYZ运行macros',然后执行一堆操作:显示几个用户窗体,运行SQL查询,显示和格式化结果数据。 在原来的.xlsm文件上,在“Thisworkbook”上我有以下代码: Public WithEvents mxlApp As Application Public WithEvents mxlSh As Worksheet Private Sub mxlApp_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) … (do stuff here) … End Sub … Private Sub Workbook_Open() Call AutoExec End Sub … 在一个单独的模块上,我有以下函数来设置我的事件处理程序 Public Sub AutoExec() Set mxlApp = Application Set ColectionOfMxlEventHandlers = New Collection […]