這是我的用例: 我需要開發一個excel VSTO加載項,該插件可以防止用戶訪問excel文件,除非安裝了加載項。該加載項基本認證當前用戶,如果成功,它將授予他們訪問文件的權限。基本上我需要一種方法來保護使用我自己的身份驗證(而不是Microsoft提供的內置密碼保護)的文件,這是爲什麼?因爲我需要能夠撤消對該文件的訪問,並且本地密碼會阻止我進行此操作所以)強制Excel文件與VSTO插件關聯
我知道如何編寫外接,我不知道的是,我如何強制文件與該插件關聯?我嘗試使用自定義屬性,但這是非常可以破解的。基本上,我會有一個自定義屬性,說:「使用這個加載項」,但一個有知識的用戶可以進入高級屬性,只需刪除它。
感謝您的快速回復。我的主要問題是,我如何使用我的加載項來製作特定文件,或者知道它需要它?我的加載項如何知道哪些文件需要它?你懂我的意思嗎? –
好吧,您可以重寫Workbooks.open方法,以檢查加載項是否處於活動狀態。如果沒有 - 不要解密數據並提示用戶使用加載項。如果存在加載項,則繼續進行身份驗證 –
事實證明,如果沒有密碼,則無法加密文件。我不想設置密碼,因爲我不想讓用戶被提示,並且我不能以編程方式通過它(除非我做一些hacky SendKeys命令,它的工作時間是一半)。相反,我編寫了一個與自定義擴展相關的程序,它代表了一個加密的excel文件。當用戶打開它時,它會被解密回Excel文件,然後重寫WorkbookSave和Open方法,並在用戶完成時將其加密。它不是防彈的,但它現在會做... –