簡體   English   中英

強制將 Excel 文件與 VSTO 插件相關聯

[英]Force an Excel file to be associated with a VSTO addin

這是我的用例:我需要開發一個 excel VSTO 插件,以防止用戶訪問 excel 文件,除非安裝了插件。 此加載項基本上對當前用戶進行身份驗證,如果成功,它將授予他們對文件的訪問權限。 基本上我需要一種方法來保護使用我自己的身份驗證的文件(而不是 Microsoft 提供的內置密碼保護。為什么?因為我需要能夠撤銷對文件的訪問權限,而本地密碼會阻止我這樣做所以)

我知道如何編寫加載項,但我不知道的是,如何強制文件與該插件相關聯? 我嘗試使用自定義屬性,但這非常容易破解。 基本上,我會有一個自定義屬性,上面寫着:“使用此加載項”,但知識淵博的用戶可以直接進入高級屬性並簡單地將其刪除。

我的建議是讓您使用 COM 加載項,因為它們不會將代碼分發給用戶並且不容易被黑客入侵。 使用 .XLA 或 .XLAM 文件的簡單加載項只是受密碼保護的 VBA 項目,可以被黑客入侵。

現在,對於您的工作簿,我建議您加密和加擾所有數據並使用您的 COM 加載項解密您的數據,並使用一個函數來防止保存未加密的工作簿。 您可以覆蓋 Workbook_OnSave 方法以在保存時加密。 還禁用單元格值的復制。

對於這一部分,我不知道這是否可行,但您需要覆蓋用戶對 VBA 編輯器的訪問權限,因此他們無法繞過您的加載項保護,也無法訪問選項菜單以禁用添加-在。 這可以通過覆蓋 Excel 快捷鍵並隱藏菜單欄來實現。

同樣,對於最后一部分,我不知道是否真的可以限制用戶對 VBA 編輯器的訪問。 我認為這與通過覆蓋 ALT+F11 快捷方式來限制對加載項控件的訪問非常相似,並且只是將開發人員選項卡作為一個整體隱藏。

那是我的兩分錢,祝你好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM