SheetBeforeDoubleClick在我的Excel中工作,但在其他计算机中不工作

ca1c2owp  于 2023-03-04  发布在  其他
关注(0)|答案(1)|浏览(139)
    • bounty将在4天后过期**。回答此问题可获得+50的声誉奖励。meMadhav正在寻找来自声誉良好来源的答案

我开发了一个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

你知道我错过了什么吗?

t1qtbnec

t1qtbnec1#

检查其他用户/队友的Application.EnableEvents是否设置为True
同时检查Workbook_Open()是否真的触发了。在事件中添加一个Debug.Print "Open"行,然后关闭并重新打开文件,并检查“即时”窗口。如果它没有触发(即“即时”窗口中没有打印任何内容),则检查我不久前写的这篇文章。

相关问题