簡體   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