office交流網(wǎng)--QQ交流群號及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請用微信掃碼)

        

使用shell解壓縮zip文件出現(xiàn)自動化錯誤-2147024894 位置: ShellApp.Namespace(FileNameZip).CopyHere FileNames(i)

2017-09-17 08:00:00
zstmtony
原創(chuàng)
8354

正常windows xp 與windows 7都自帶 zip解壓縮功能

但最近在客戶某些電腦使用shell解壓縮zip文件 在代碼: ShellApp.Namespace(FileNameZip).CopyHere FileNames(i) 

出現(xiàn)自動化錯誤-2147024894  

-2147024894 

方法 'NameSpace' 作用于對象 'IShellDispatch4' 時失敗

這段代碼在win7下是非常正常的,但在XP下出現(xiàn)該錯誤

這是因為 zipfldr.dll不一定每個XP系統(tǒng)都存在,有的被優(yōu)化掉了,有些克隆版的XP系統(tǒng) 為了節(jié)約資源,補(bǔ)刪除掉了,去掉的方法如下:



WindowsXP系統(tǒng)自帶解壓縮文件的功能,不用安裝壓縮軟件就可以解開ZIP格式的壓縮文件。但是這一切功能會耗費(fèi)系統(tǒng)大量的資源,所以可以將這個功能關(guān)閉。可以單擊“開始”—“運(yùn)行”命令,打開“運(yùn)行”對話框,在輸入框中輸入“regsvr32 /u zipfldr.dll”(不含引號)命令輸入的“regsvr32 /u zipfldr.dll”命令中,在“32”和“/”中間有一個空格,在“u”和“zipfldr.dll”中間有一個空格。
按回車鍵,會彈出功能關(guān)閉成功的提示框,就說明這個功能被成功的關(guān)閉了?!皕ipfldr.dll中的DLLUnregisterServer成功” 如果要恢復(fù)對ZIP壓縮文件的支持,在“運(yùn)行”對話框中輸入“regsvr32zipfldr.dll”不含引號即可。


但這樣就導(dǎo)致使用shell.application方法來調(diào)用windows自帶的解壓zip文件的功能就不能正常運(yùn)行了。

出現(xiàn)這樣的錯誤提示


有這個文件,并且注冊過(注冊成功),也同樣自動化錯誤
位置: ShellApp.Namespace(FileNameZip).CopyHere FileNames(i)

提示:


EH的zhyzhsh 的解決辦法如下:


本機(jī)觀察并解決此問題的詳細(xì)步驟如下:

1、Excel里運(yùn)行該代碼,提示以下錯誤:
 

2、Windows里運(yùn)行命令“regsvr32 zipfldr.dll”,提示以下錯誤。意思是系統(tǒng)里找不到該文件。從http://www.zhaodll.com網(wǎng)站下載該文件,解壓放到C:\WINDOWS\system32目錄。
 

3、Windows里再次運(yùn)行命令“regsvr32 zipfldr.dll”,提示成功。
 

4、退出并再次進(jìn)入Excel,運(yùn)行代碼成功。(若不退出直接運(yùn)行則仍提示步驟1所示錯誤)

聲明:本方法僅供參考。如仍無法適用其他環(huán)境,請嘗試替代方案或聯(lián)系該代碼原作者


按這種方法注冊后,運(yùn)行成功


但這樣無法確保所有的系統(tǒng)都能夠成功解壓,最好還是使用winrar的調(diào)用解壓方式,或調(diào)用zip.dll 或unzip.dll 這些方式

    分享
    文章分類
    聯(lián)系我們
    聯(lián)系人: 王先生
    Email: 18449932@qq.com
    QQ: 18449932
    微博: officecn01
    移動訪問