Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Excel 2016)
圧縮ファイルを解凍するマクロでエラー
投稿日時: 17/04/20 09:23:02
投稿者: isoka

圧縮ファイル(Lzh)を解凍するマクロを実行すると下記のエラーが出て上手く動きません。
どうすれば良いか色々調べたのですが出来ませんでした。
 
エラー内容
「実行時エラー’-2147467259(80004005)'
'NameSpace'メソッドは失敗しました:’IShell Dispatch6'オブジェクト
 
実行マクロは下記の通りですが何がダメなのかわかりません
お手数ですがお教えください。
 
Sub sample()
Dim shell As Object
Dim lzhFil As Variant
Dim lzhFol As Variant
 
zipFol = "D:\LzhTemp\" '解凍フォルダ
zipFil = "D:\Lzh\〇〇〇.lzh" 'lzhファイル
 
Set shell = CreateObject("Shell.Application")
shell.Namespace(lzhFol).CopyHere shell.Namespace(lzhFil).Items
End Sub

回答
投稿日時: 17/04/20 11:15:20
投稿者: kim358

実際に動かしたプロシジャーのコピペではないようですが、
zipFol zipFil のみを、修正たららそのままのコードで
正常に解凍されましたが。
 
フォルダ名やファイル名が誤っている場合は
実行時エラーは、91 ですし。

回答
投稿日時: 17/04/20 12:40:06
投稿者: kumatti
投稿者のウェブサイトに移動


> Windows 10 Pro

LZHのサポートは、RS1 build 14393で終了したみたいですね。なので、そのエラーが出ているのではと。
Wiindowsキー + Rから、「winver」でbuildは確認出来ます。

投稿日時: 17/04/20 15:48:50
投稿者: isoka

早速の回答ありがとうございます。
 
windowsのビルドを確認したところ
「15063」になっていましたのでダメだったようですね
 
どうすれば良いのでしょうか?
Lha32.dll等を使えば良いのでしょうか?
 
 

回答
投稿日時: 17/04/20 16:53:38
投稿者: kumatti
投稿者のウェブサイトに移動

仰有る様に解凍用のdllをお使い下さい。

投稿日時: 17/04/20 17:01:38
投稿者: isoka

ありがとうございました。