|
一般情況下,用戶可以通過(guò)菜單“文件”→“關(guān)閉”、工作簿窗口右上角的“關(guān)閉窗口”按鈕或者任務(wù)欄中圖標(biāo)右鍵菜單中的“關(guān)閉”菜單項(xiàng)關(guān)閉工作簿。如果希望禁用上述關(guān)閉工作簿的功能,而只能通過(guò)代碼關(guān)閉工作簿,則可以在相應(yīng)的工作簿事件中實(shí)現(xiàn),如下面的代碼所示。 1.Dim BClose As Boolean 2.Private Sub Workbook_BeforeClose(Cancel As Boolean) 3. If BClose = False Then 4. Cancel = True 5. MsgBox "此功能已經(jīng)被禁止,請(qǐng)使用""關(guān)閉""按鈕關(guān)閉工作簿!", vbExclamation, "提示" 6. End If 7.End Sub 8.Public Sub CloseWorkbook() 9. BClose = True 10. Me.Close 11.End Sub 代碼解析: 第1行代碼在模塊頂部聲明變量BClose為Boolean類(lèi)型,默認(rèn)初始值為False。 第2行到第7行代碼工作簿的BeforeClose事件過(guò)程,通過(guò)變量BClose的當(dāng)前值決定是否能夠關(guān)閉工作簿,只有當(dāng)BClose的值為T(mén)rue時(shí),才允許關(guān)閉工作簿。如果變量BClose 的值為False時(shí)將參數(shù)Cancel的值設(shè)置為T(mén)rue,以禁止關(guān)閉操作。 第8行到第11行代碼CloseWorkbook過(guò)程,將變量BClose的當(dāng)前值設(shè)置為T(mén)rue后使用Close方法關(guān)閉工作簿。 在添加以上代碼后,用戶只能通過(guò)調(diào)用CloseWorkbook過(guò)程關(guān)閉工作簿。如果通過(guò)菜單“文件”→“關(guān)閉”或者單擊工作簿窗口右上角的“關(guān)閉窗口”按鈕關(guān)閉工作簿,將顯示如圖1所示的消息框。 ![]() |
|
|
來(lái)自: 昵稱(chēng)45701421 > 《VBA》