OFFICE2007 自编宏使用 以及 文件未找到 VBA6.DLL 错误处理
在excel中打開一個舊文件,文件中有VBA編寫的宏. 以前啟動只是提示宏是否啟用,但是2007版本已經直接禁止了. 根據提示發現,在excel選項->信任中心->宏設置中,有關"對于在非信任位置的文檔的宏"的選項,共有4項:
禁用所有宏,并且不通知
禁用所有宏,并發出通知
禁用無數字簽署的所有宏
啟用所用宏
對于受信任位置,信任中心中也可以配置,但覺得這樣配置不方便,而且可能有外來的文件也是不能隨便擴大信任位置的.那么前2項直接禁用,那就無法實用自己寫的宏了,自然不能接受.第4條,存在安全隱患當然也不行,起始就是想實用自己編寫的宏,因此只能選第三個了"禁用無數字簽署的所有宏",那么現在的問題就是怎么給自己的宏加數字簽名呢?
如果已經有購買了信任中心發布的證書那么就可以直接使用了.下面是針對沒有申請過證書的一般人.office本身就提供這樣一個工具,根據幫助提示,打開開始菜單的office項,選擇Microsoft Office工具下的VBA項目的數字證書,輸入名稱就可以生成一個自行簽署的數字證書,這個證書只能在本機使用,主要用于自己的VBA程序調試使用.
證書生成好了,打開EXCEL,在"開發工具"菜單欄中點擊Visual Basic就可以打開項目,然后選擇項目,點擊菜單的工具->數字簽名,如果沒有使用過證書,則要先點"選擇",找到剛才生成的證書,然后點擊確定,那么項目就已經簽名了.
到了這步,再嘗試打開帶有宏的EXCEL文件,結果仍然是禁止宏的,檢查,宏確實使用自己的證書簽名了,但是仍無法使用.看來是自己證書沒有被信任.于是打開IE,進入到Internet選項->內容->證書,切換到"受信任的發布者",然后點擊導入,找到剛才生成的證書.我也沒注意剛才證書是生成到哪里,但是能在"個人"選頁中找到,于是先導出到文件,然后在導入到"受信任的發布者"中.然后自己寫的宏就啟動啟用了,可以使用了.
本來配置好數字簽名后,原來的宏就可以使用了,也可以正確執行.但是隨便改了一些代碼.再次執行.卻出現了錯誤"文件未找到 VBA6.DLL ",調試也指向宏的入口出,沒發現上面問題,這部分代碼都沒有修改.非常奇怪.難道現在office 2007還要依賴與VB6的dll嗎,查看系統目錄和office目錄都沒有發現VBA6.DLL.沒辦法,只好在網上下載了一份VBA6.DLL.也不知道怎么處理,先把文件放到%WINOWS%\SYSTEM32目錄下,在運行宏,錯誤依舊,嘗試使用regsvr32安裝dll,提示無法找到文件. 最后把VBA6.DLL文件放到了office的程序目錄中. 這次宏剋運行沒有錯誤了.
問題終于解決了. 但是有不少疑問.?
office 2007還要依賴與VB6的dll嗎,為什么沒有自帶.
 
本來宏是可以執行的,但只是修改了一下,并沒有增加什么內容,卻無法使用了.必須配置VBA6.DLL.
這些問題暫時沒搞懂.能用就好.先這樣了.
 
 
總結
以上是生活随笔為你收集整理的OFFICE2007 自编宏使用 以及 文件未找到 VBA6.DLL 错误处理的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: vue-router 路由跳转
- 下一篇: shell的logo含义_Shell(壳
