強制您的客戶啟用 Excel 宏

要在 Excel 中使用任何宏,您的用戶必須啟用宏。也就是說,他們必須授予 Excel 權限才能在其環境中運行宏。要啟用宏,用戶單擊公式欄上方彈出的安全警告中的啟用內容按鈕。

強制您的客戶啟用 Excel 宏

最重要的是,您可以編寫世界上所有花哨的宏,但除非您的用戶啟用宏,否則它們永遠不會運行。這就引出了一個問題;你能強制用戶啟用宏嗎?答案是肯定的 - 有點詭計。

這個想法比較簡單。您創建了一個名為 START 的工作表。該工作表僅包含一個簡單的警告,說明必須啟用宏。然後隱藏工作簿中除 START 工作表之外的所有工作表。最後,您編寫一個簡單的宏,在打開工作簿時取消隱藏所有工作表。

強制您的客戶啟用 Excel 宏

此時,當打開工作簿時,Excel 會要求用戶啟用宏。用戶將被迫這樣做,因為他們將看到的只是您的起始表。其他床單將被隱藏!

要使這項技術起作用,您需要兩個宏:一個宏在工作簿關閉時隱藏除 START 表之外的所有內容,另一個宏在工作簿打開時取消隱藏除 START 表之外的所有內容。

首先,處理工作簿關閉時需要執行的操作。:

按鍵盤上的 ALT+F11 激活 Visual Basic 編輯器

在“項目”窗口中,找到您的項目/工作簿名稱,然後單擊旁邊的加號以查看所有工作表。

單擊此工作簿。

在事件下拉框中,選擇 BeforeClose 事件。

強制您的客戶啟用 Excel 宏

鍵入或粘貼以下代碼:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'第 1 步:聲明變量
  Dim ws as 工作表
'第 2 步:取消隱藏起始表
  Sheets("START").Visible = xlSheetVisible
'第 3 步:開始遍歷所有工作表
  對於 ThisWorkbook.Worksheets 中的每個 ws
'第 4 步:檢查每個工作表名稱
  如果 ws.Name <> "START" 然後
'第 5 步:隱藏工作表
  ws.Visible = xlVeryHidden
  萬一
'第 6 步:循環到下一個工作表
  下一個
'第 7 步:保存工作簿
  ActiveWorkbook.Save
結束子

在第 1 步中,您聲明了一個名為 ws 的對象,以便為您將循環遍歷的每個工作表創建一個內存容器。

在第 2 步中,您確保 START 表可見。

在第 3 步中,您開始循環,告訴 Excel 您要評估此工作簿中的所有工作表。

在第 4 步中,您只需將名稱 START 與當前正在循環的工作表進行比較。此步驟可確保接下來的操作應用於除 START 工作表之外的所有工作表。

如果工作表名稱不同,則在步驟 5 中使用 xlVeryHidden 屬性隱藏工作表。此屬性不僅可以隱藏工作表,還可以防止用戶使用用戶界面手動取消隱藏工作表。

在第 6 步中循環返回以獲取下一張紙。

在第 7 步中,評估完所有工作表後,宏將保存工作簿並結束。

現在,您必須編寫一個宏來處理工作簿打開時需要發生的所有操作:

按 ALT+F11 激活 Visual Basic 編輯器。

在“項目”窗口中,找到您的項目/工作簿名稱,然後單擊旁邊的加號以查看所有工作表。

單擊此工作簿。

在事件下拉框中,選擇打開事件。

強制您的客戶啟用 Excel 宏

鍵入或粘貼以下代碼:

私有子工作簿_Open()
'第 1 步:聲明變量
  Dim ws as 工作表
'第 2 步:開始遍歷所有工作表
  對於 ThisWorkbook.Worksheets 中的每個 ws
'第 3 步:取消隱藏所有工作表
  ws.Visible = xlSheetVisible
'第 4 步:循環到下一個工作表
  下一個
'第 5 步:隱藏起始頁
  Sheets("START").Visible = xlVeryHidden
結束子

在第 1 步中,您聲明了一個名為 ws 的對象,以便為您循環的每個工作表創建一個內存容器。

在第 2 步中,您開始循環,告訴 Excel 您要評估此工作簿中的所有工作表。

在步驟 3 中,您取消隱藏當前正在循環播放的工作表。此步驟有效地取消隱藏所有工作表,因為每個工作表都可見。

在步驟 4 中循環返回以獲取下一張紙。

使所有工作表可見後,步驟 5 將隱藏 START 工作表。同樣,您使用 xlVeryHidden 屬性,這樣用戶將無法使用用戶界面手動取消隱藏工作表。

實現這兩個宏後,您將擁有一個只有在用戶啟用宏時才能工作的工作簿!

Leave a Comment

HTKK 5.0.3

HTKK 5.0.3

HTKK 是稅務總局免費發布的報稅支援軟體,提供企業快速建立報稅表。了解HTKK的安裝步驟與升級功能。

有用的 Microsoft Power Query 日期函數

有用的 Microsoft Power Query 日期函數

探索 Excel 中的 Microsoft Power Query 日期函數,快速處理日期計算和操作,其中包含添加天數、提取日期部分等功能的詳細說明。

如何在 Excel 2019 中使用 3D 地圖功能

如何在 Excel 2019 中使用 3D 地圖功能

3D 地圖是 Excel 2019 中提供的令人興奮的可視化分析功能,讓你能夠在 Excel 中創建動態的 3D 地圖。探索如何利用這項技術提升數據分析的效果。

如何在 Excel 中使用 SKEW 和 SKEW.P 函數

如何在 Excel 中使用 SKEW 和 SKEW.P 函數

了解如何在 Excel 中使用 SKEW 和 SKEW.P 函數來衡量數據分佈的偏度,這對於分析數據的對稱性至關重要。

如何為 Excel 儀表板創建時間線切片器

如何為 Excel 儀表板創建時間線切片器

時間軸切片器的工作方式與標準切片器的工作方式相同,因為它允許您使用視覺選擇機製過濾數據透視表。了解如何在 Excel 中使用時間軸切片器來高效管理日期字段。

如何在 Excel 2016 中使用 XLOOKUP 函數

如何在 Excel 2016 中使用 XLOOKUP 函數

了解如何在 Excel 2016 中使用 XLOOKUP 函數,這是一個 VLOOKUP 函數的優秀替代品,具有更強大和靈活的功能!

智能表9.1.1

智能表9.1.1

Smartsheet 是一個動態工作平台,可讓您管理專案、建立工作流程以及與團隊合作。

共享點

共享點

SharePoint 是一個基於 Web 的協作系統,它使用各種工作流程應用程式、「清單」資料庫和其他 Web 元件以及安全功能來控制業務群組的協同工作。

萬年曆1.0.38/1.0.36

萬年曆1.0.38/1.0.36

萬年日曆是一款手機上的日曆檢視應用程式,可協助您在手機上快速查看陰陽日期,從而安排您的重要工作。

微軟 Outlook 2021

微軟 Outlook 2021

Microsoft Outlook 是由 Microsoft Corporation 開發的商業和生產力應用程式。