我开发了一个MacOS Excel的加载项,其中SheetBeforeDoubleClick在我的Excel中工作正常,但当我分享给我的队友它不工作。我检查了系统配置,Excel和MacOS版本对我和我的队友是相同的。
Option Explicit
Public WithEvents MyAppEvents As Application
Private Sub MyAppEvents_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
'MsgBox "Double clicked..."
On Error GoTo doubleclickerr
If IsEmpty(ActiveCell) = True Then
'MsgBox "Can not perform Zoom-in on Empty cells."
ElseIf IsNumeric(ActiveCell) = True Then
'MsgBox "Can not perform Zoom-in on Numeric cells."
Else
Application.StatusBar = "Zooming in…"
MainModule.ZoomIn
Application.StatusBar = ""
End If
Cancel = True
Exit Sub
doubleclickerr:
MsgBox "error in double click: " & Error
End Sub
我尝试在其他计算机上调试,但控件未进入Event方法(SheetBeforeDoubleClick)。MyAppEvent是在ThisWorkbook对象的Workbook_Open()
方法中完成的初始化。代码:
Private Sub Workbook_Open()
MainModule.App_Open
End Sub
在主模块中
Option Private Module
Public AppEvent As New EventClass
Sub App_Open()
Set AppEvent.MyAppEvents = Application
End Sub
你知道我错过了什么吗?
1条答案
按热度按时间t1qtbnec1#
检查其他用户/队友的
Application.EnableEvents
是否设置为True
。同时检查
Workbook_Open()
是否真的触发了。在事件中添加一个Debug.Print "Open"
行,然后关闭并重新打开文件,并检查“即时”窗口。如果它没有触发(即“即时”窗口中没有打印任何内容),则检查我不久前写的这篇文章。