繁体   English   中英

VBA更改Workbook_Open上工作簿的Excel光标

[英]VBA to change Excel cursor for Workbook on Workbook_Open

有什么方法可以更改特定工作簿的Excel光标吗? 找不到任何解决方案。

我的工作簿已锁定,无法编辑单元格,只有某些单元格可用,我想替换此Excel光标:

在此处输入图片说明

通过指针:

在此处输入图片说明

我已经经历过了,但是不知道是否可以在Workbook中实现它? https://docs.microsoft.com/en-us/office/vba/api/excel.application.cursor

Private Sub Workbook_Open()
Application.Cursor = xlDefault
End Sub

ThisWorkbook代码模块中,您可以执行以下操作。 这里的想法是在打开工作簿时捕获初始光标样式( Workbook_Open事件调用changeCursor ,该事件将当前光标样式存储在cursor变量中。然后添加更多事件处理程序,以便当工作簿失去焦点时( Workbook_Deactivate ),然后在它关闭( Workbook_BeforeClose )之前,我们通过resetCursor方法将该光标恢复到以前的样式。可能还没有考虑其他边缘情况,但这是您需要实现的一般想法。

Option Explicit
Private cursor As Long

Private Sub Workbook_Activate()
changeCursor
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
resetCursor
End Sub

Private Sub Workbook_Deactivate()
resetCursor
End Sub

Private Sub Workbook_Open()
changeCursor
End Sub

Private Sub changeCursor()
cursor = Application.cursor
Application.cursor = xlNorthwestArrow
End Sub
Private Sub resetCursor()
On Error Resume Next
Application.cursor = cursor
If Err.Number <> 0 Then
    Application.cursor = xlDefault
End If
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM